RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   31-Mar-2009 00:39:38
  Branch: HEAD                             Handle: 2009033022393700

  Modified files:
    rpm                     CHANGES
    rpm/lib                 poptI.c poptQV.c

  Log:
    - fix: --noscripts/--nofdigests/--nocontexts need to use popt
    callback.

  Summary:
    Revision    Changes     Path
    1.2889      +1  -0      rpm/CHANGES
    2.52        +24 -0      rpm/lib/poptI.c
    2.63        +2  -0      rpm/lib/poptQV.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2888 -r1.2889 CHANGES
  --- rpm/CHANGES       30 Mar 2009 18:55:38 -0000      1.2888
  +++ rpm/CHANGES       30 Mar 2009 22:39:37 -0000      1.2889
  @@ -1,5 +1,6 @@
   
   5.2a3 -> 5.2a4:
  +    - jbj: fix: --noscripts/--nofdigests/--nocontexts need to use popt 
callback.
       - jbj: rpmiob: fix: return iob to _rpmiobPool instead.
       - jbj: yarn: convert mire to usage mutex with refcounts
        (unifying array <-> element mutexes by copying use/pool
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/poptI.c
  ============================================================================
  $ cvs diff -u -r2.51 -r2.52 poptI.c
  --- rpm/lib/poptI.c   21 Jan 2009 22:24:18 -0000      2.51
  +++ rpm/lib/poptI.c   30 Mar 2009 22:39:37 -0000      2.52
  @@ -180,6 +180,18 @@
        ia->noDeps = 1;
        break;
   
  +    case RPMCLI_POPT_NOCONTEXTS:
  +     ia->transFlags |= RPMTRANS_FLAG_NOCONTEXTS;
  +     break;
  +
  +    case RPMCLI_POPT_NOSCRIPTS:
  +     ia->transFlags |= (_noTransScripts|_noTransTriggers);
  +     break;
  +
  +    case RPMCLI_POPT_NOFDIGESTS:
  +     ia->transFlags |= RPMTRANS_FLAG_NOFDIGESTS;
  +     break;
  +
       }
   }
   
  @@ -218,19 +230,31 @@
    { "nodocs", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE|POPT_ARGFLAG_DOC_HIDDEN,
        &rpmIArgs.transFlags, RPMTRANS_FLAG_NODOCS,
        N_("do not install documentation"), NULL},
  +#ifdef       NOTYET  /* XXX multiple identical options forces popt callback. 
*/
    { "nocontexts", '\0', 
POPT_BIT_SET|POPT_ARGFLAG_TOGGLE|POPT_ARGFLAG_DOC_HIDDEN,
        &rpmIArgs.transFlags, RPMTRANS_FLAG_NOCONTEXTS,
        N_("don't install file security contexts"), NULL},
    { "nofdigests", '\0', POPT_BIT_SET,
        &rpmIArgs.transFlags, RPMTRANS_FLAG_NOFDIGESTS,
        N_("don't verify file digests"), NULL },
  +#else
  +  { "nocontexts", '\0', POPT_ARGFLAG_DOC_HIDDEN, NULL, 
RPMCLI_POPT_NOCONTEXTS,
  +     N_("don't verify file security contexts"), NULL },
  +  { "nofdigests", '\0', 0, NULL, RPMCLI_POPT_NOFDIGESTS,
  +     N_("don't verify file digests"), NULL },
  +#endif
    { "norpmdb", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE|POPT_ARGFLAG_DOC_HIDDEN,
        &rpmIArgs.transFlags, RPMTRANS_FLAG_NORPMDB,
        N_("don't register headers in rpmdb"), NULL},
   
  +#ifdef       NOTYET  /* XXX multiple identical options forces popt callback. 
*/
    { "noscripts", '\0', POPT_BIT_SET,
        &rpmIArgs.transFlags, (_noTransScripts|_noTransTriggers),
        N_("do not execute package scriptlet(s)"), NULL },
  +#else
  +  { "noscripts", '\0', 0, NULL, RPMCLI_POPT_NOSCRIPTS,
  +     N_("do not execute package scriptlet(s)"), NULL },
  +#endif
    { "nopretrans", '\0', 
POPT_BIT_SET|POPT_ARGFLAG_TOGGLE|POPT_ARGFLAG_DOC_HIDDEN,
        &rpmIArgs.transFlags, RPMTRANS_FLAG_NOPRETRANS,
        N_("do not execute %%pretrans scriptlet (if any)"), NULL },
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/poptQV.c
  ============================================================================
  $ cvs diff -u -r2.62 -r2.63 poptQV.c
  --- rpm/lib/poptQV.c  27 Mar 2009 21:17:42 -0000      2.62
  +++ rpm/lib/poptQV.c  30 Mar 2009 22:39:37 -0000      2.63
  @@ -288,6 +288,8 @@
   {
       QVA_t qva = &rpmQVKArgs;
   
  +    /* XXX avoid accidental collisions with POPT_BIT_SET for flags */
  +    if (opt->arg == NULL)
       switch (opt->val) {
       case 'c': qva->qva_flags |= QUERY_FOR_CONFIG | QUERY_FOR_LIST; break;
       case 'd': qva->qva_flags |= QUERY_FOR_DOCS | QUERY_FOR_LIST; break;
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to