|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 24 Aug 2005 10:05:34 To : Sergey Skvortsov Subject : Re: pkg_add & nanobsd -------------------------------------------------------------------------------- 23 авг 2005, вторник, в 20:35 KRAST, Sergey Skvortsov написал(а): >> И думается тут, что нужен ключик для pkg_add, игнорировать ошибку >> already installed, не увеличивать из-за нее счетчик, по которому SS> -f Это не то. Тут есть опасность проигнорировать действительную ошибку, если нужных зависимостей среди пакетов так и не найдется. Лучше бы ключик новый -F, игнорировать только нефатальную ошибку - установка уже установленного пакета. Index: add.h =================================================================== RCS file: /home/ncvs/src/usr.sbin/pkg_install/add/add.h,v retrieving revision 1.11 diff -u -r1.11 add.h - --- add.h 29 Jun 2004 19:06:41 -0000 1.11 +++ add.h 24 Aug 2005 02:59:22 -0000 @@ -28,6 +28,7 @@ extern char *Prefix; extern Boolean NoInstall; extern Boolean NoRecord; +extern Boolean FailOnAlreadyInstalled; extern char *Mode; extern char *Owner; extern char *Group; Index: main.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/pkg_install/add/main.c,v retrieving revision 1.61.2.1 diff -u -r1.61.2.1 main.c - --- main.c 11 Jul 2005 16:14:21 -0000 1.61.2.1 +++ main.c 24 Aug 2005 02:59:38 -0000 @@ -27,13 +27,14 @@ #include "lib.h" #include "add.h" -static char Options[] = "hvIRfnrp:SMt:C:"; +static char Options[] = "hvIRfFnrp:SMt:C:"; char *Prefix = NULL; char *Chroot = NULL; Boolean NoInstall = FALSE; Boolean NoRecord = FALSE; Boolean Remote = FALSE; +Boolean FailOnAlreadyInstalled = TRUE; char *Mode = NULL; char *Owner = NULL; @@ -120,6 +121,10 @@ case 'f': Force = TRUE; + break; + + case 'F': + FailOnAlreadyInstalled = FALSE; break; case 'n': Index: perform.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/pkg_install/add/perform.c,v retrieving revision 1.77 diff -u -r1.77 perform.c - --- perform.c 28 Jul 2004 16:03:13 -0000 1.77 +++ perform.c 24 Aug 2005 02:59:01 -0000 @@ -245,9 +245,12 @@ */ if ((isinstalledpkg(Plist.name) > 0 || matchbyorigin(Plist.origin, NULL) != NULL) && !Force) { - warnx("package '%s' or its older version already installed", - Plist.name); - code = 1; + warnx("package '%s' or its older version already installed%s", + Plist.name, FailOnAlreadyInstalled ? "" : " (ignored)"); + if(FailOnAlreadyInstalled) + code = 1; + else + code = 0; goto success; /* close enough for government work */ } Сойдет? Eugene -- Тестоголовые кислое свое брожение приняли за душу, распарывание чрев своих - за историю, средства, оттягивающие разложение - за цивилизацию... --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093bac1883f.html, оценка из 5, голосов 10
|