Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: pkg_add & nanobsd   Eugene Grosbein   24 Aug 2005 10:05:34 
Архивное /ru.unix.bsd/26093bac1883f.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional