Remove repackage support to finish off with rollback
authorPanu Matilainen <pmatilai@redhat.com>
Mon, 17 Mar 2008 12:10:11 +0000 (14:10 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Mon, 17 Mar 2008 12:10:11 +0000 (14:10 +0200)
The two main classes of rollback/repackage need are
1) Gimme back the previous version, this broke XYZ on my system.
   This is better handled by downgrading to the previous version of original
   package instead of repackaged garbage. We should maintain real package
   (version) history somewhere.

2) Upgrade messed up my configuration.
   Instead of repackaging everything we could be far more intelligent
   wrt config files, stick them into real version control or at least have
   hooks to do so.

RPMCALLBACK_REPACKAGE_* and RPMTRANS_FLAG_REPACKAGE definitions left around
to avoid needlessly breaking everybodys callbacks (for now)

lib/poptI.c
lib/psm.c
lib/psm.h
lib/rpmcallback.h
lib/rpminstall.c
lib/rpmts.c
lib/rpmts.h
lib/transaction.c
macros.in

index 9c72d8c..9aff685 100644 (file)
@@ -148,9 +148,6 @@ struct poptOption rpmInstallPoptTable[] = {
        &rpmIArgs.transFlags, RPMTRANS_FLAG_DEPLOOPS,
        N_("print dependency loops as warning"), NULL},
 
- { "dirstash", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN,
-       &rpmIArgs.transFlags, RPMTRANS_FLAG_DIRSTASH,
-       N_("save erased package files by renaming into sub-directory"), NULL},
  { "erase", 'e', POPT_BIT_SET,
        &rpmIArgs.installInterfaceFlags, INSTALL_ERASE,
        N_("erase (uninstall) package"), N_("<package>+") },
@@ -268,9 +265,6 @@ struct poptOption rpmInstallPoptTable[] = {
  { "relocate", '\0', POPT_ARG_STRING, 0, POPT_RELOCATE,
        N_("relocate files from path <old> to <new>"),
        N_("<old>=<new>") },
- { "repackage", '\0', POPT_BIT_SET,
-       &rpmIArgs.transFlags, RPMTRANS_FLAG_REPACKAGE,
-       N_("save erased package files by repackaging"), NULL},
  { "replacefiles", '\0', POPT_BIT_SET, &rpmIArgs.probFilter,
        (RPMPROB_FILTER_REPLACEOLDFILES | RPMPROB_FILTER_REPLACENEWFILES),
        N_("ignore file conflicts between packages"), NULL},
index b5379e2..cb53957 100644 (file)
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -39,14 +39,10 @@ struct rpmpsm_s {
     rpmte te;                  /*!< current transaction element */
     rpmfi fi;                  /*!< transaction element file info */
     FD_t cfd;                  /*!< Payload file handle. */
-    FD_t fd;                   /*!< Repackage file handle. */
-    Header oh;                 /*!< Repackage header. */
     rpmdbMatchIterator mi;
     const char * stepName;
     char * rpmio_flags;
     char * failedFile;
-    char * pkgURL;             /*!< Repackage URL. */
-    const char * pkgfn;                /*!< Repackage file name. */
     int scriptTag;             /*!< Scriptlet data tag. */
     int progTag;               /*!< Scriptlet interpreter tag. */
     int npkgs_installed;       /*!< No. of installed instances. */
@@ -1138,7 +1134,6 @@ static const char * pkgStageString(pkgStage a)
     case PSM_PKGINSTALL:       return "  install";
     case PSM_PKGERASE:         return "    erase";
     case PSM_PKGCOMMIT:                return "   commit";
-    case PSM_PKGSAVE:          return "repackage";
 
     case PSM_INIT:             return "init";
     case PSM_PRE:              return "pre";
@@ -1311,6 +1306,7 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
        }
 
        if (psm->goal == PSM_PKGINSTALL) {
+           Header oh;
            int fc = rpmfiFC(fi);
 
            psm->scriptArg = psm->npkgs_installed + 1;
@@ -1330,9 +1326,9 @@ assert(psm->mi == NULL);
                        rpmteO(psm->te));
            }
 
-           while ((psm->oh = rpmdbNextIterator(psm->mi)) != NULL) {
+           while ((oh = rpmdbNextIterator(psm->mi)) != NULL) {
                fi->record = rpmdbGetIteratorOffset(psm->mi);
-               psm->oh = NULL;
+               oh = NULL;
                break;
            }
            psm->mi = rpmdbFreeIterator(psm->mi);
@@ -1372,7 +1368,7 @@ assert(psm->mi == NULL);
                                (rpm_data_t *) &fi->fgroup, NULL);
            rc = RPMRC_OK;
        }
-       if (psm->goal == PSM_PKGERASE || psm->goal == PSM_PKGSAVE) {
+       if (psm->goal == PSM_PKGERASE) {
            psm->scriptArg = psm->npkgs_installed - 1;
        
            /* Retrieve installed header. */
@@ -1380,25 +1376,6 @@ assert(psm->mi == NULL);
            if (rc == RPMRC_OK && psm->te)
                rpmteSetHeader(psm->te, fi->h);
        }
-       if (psm->goal == PSM_PKGSAVE) {
-           /* Open output package for writing. */
-           {   char * bfmt = rpmGetPath("%{_repackage_name_fmt}", NULL);
-               char * pkgbn =
-                       headerSprintf(fi->h, bfmt, rpmTagTable, rpmHeaderFormats, NULL);
-
-               bfmt = _free(bfmt);
-               psm->pkgURL = rpmGenPath("%{?_repackage_root}",
-                                        "%{?_repackage_dir}",
-                                       pkgbn);
-               pkgbn = _free(pkgbn);
-               (void) urlPath(psm->pkgURL, &psm->pkgfn);
-               psm->fd = Fopen(psm->pkgfn, "w.ufdio");
-               if (psm->fd == NULL || Ferror(psm->fd)) {
-                   rc = RPMRC_FAIL;
-                   break;
-               }
-           }
-       }
        break;
     case PSM_PRE:
        if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)        break;
@@ -1464,91 +1441,6 @@ assert(psm->mi == NULL);
            if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPREUN))
                rc = rpmpsmNext(psm, PSM_SCRIPT);
        }
-       if (psm->goal == PSM_PKGSAVE) {
-           int noArchiveSize = 0;
-
-           /* Regenerate original header. */
-           {   void * uh = NULL;
-               rpmTagType uht;
-               rpm_count_t uhc;
-
-               if (headerGetEntry(fi->h, RPMTAG_HEADERIMMUTABLE, &uht, &uh, &uhc)) {
-                   psm->oh = headerCopyLoad(uh);
-                   uh = hfd(uh, uht);
-               } else
-               if (headerGetEntry(fi->h, RPMTAG_HEADERIMAGE, &uht, &uh, &uhc))
-               {
-                   HeaderIterator hi;
-                   rpmTagType type;
-                   rpmTag tag;
-                   rpm_count_t count;
-                   rpm_data_t ptr;
-                   Header oh;
-
-                   /* Load the original header from the blob. */
-                   oh = headerCopyLoad(uh);
-
-                   /* XXX this is headerCopy w/o headerReload() */
-                   psm->oh = headerNew();
-
-                   for (hi = headerInitIterator(oh);
-                       headerNextIterator(hi, &tag, &type, &ptr, &count);
-                       ptr = headerFreeData(ptr, type))
-                   {
-                       if (tag == RPMTAG_ARCHIVESIZE)
-                           noArchiveSize = 1;
-                       if (ptr) (void) headerAddEntry(psm->oh, tag, type, ptr, count);
-                   }
-                   hi = headerFreeIterator(hi);
-
-                   oh = headerFree(oh);
-                   uh = hfd(uh, uht);
-               } else
-                   break;      /* XXX shouldn't ever happen */
-           }
-
-           /* Retrieve type of payload compression. */
-               /* FIX: psm->oh may be NULL */
-           rc = rpmpsmNext(psm, PSM_RPMIO_FLAGS);
-
-           /* Write the lead section into the package. */
-           {
-               rpmlead lead = rpmLeadFromHeader(psm->oh);
-               rc = rpmLeadWrite(psm->fd, lead);
-               lead = rpmLeadFree(lead);
-               if (rc != RPMRC_OK) {
-                   rpmlog(RPMLOG_ERR, _("Unable to write package: %s\n"),
-                        Fstrerror(psm->fd));
-                   break;
-               }
-           }
-               
-           /* Write the signature section into the package. */
-           /* XXX rpm-4.1 and later has archive size in signature header. */
-           {   Header sigh = headerRegenSigHeader(fi->h, noArchiveSize);
-               /* Reallocate the signature into one contiguous region. */
-               sigh = headerReload(sigh, RPMTAG_HEADERSIGNATURES);
-               if (sigh == NULL) {
-                   rpmlog(RPMLOG_ERR, _("Unable to reload signature header\n"));
-                   rc = RPMRC_FAIL;
-                   break;
-               }
-               rc = rpmWriteSignature(psm->fd, sigh);
-               sigh = rpmFreeSignature(sigh);
-               if (rc) break;
-           }
-
-           /* Add remove transaction id to header. */
-           if (psm->oh != NULL)
-           {   rpm_tid_t tid = rpmtsGetTid(ts);
-               xx = headerAddEntry(psm->oh, RPMTAG_REMOVETID,
-                       RPM_INT32_TYPE, &tid, 1);
-           }
-
-           /* Write the metadata section into the package. */
-           rc = headerWrite(psm->fd, psm->oh, HEADER_MAGIC_YES);
-           if (rc) break;
-       }
        break;
     case PSM_PROCESS:
        if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)        break;
@@ -1648,47 +1540,6 @@ assert(psm->mi == NULL);
            xx = rpmpsmNext(psm, PSM_NOTIFY);
 
        }
-       if (psm->goal == PSM_PKGSAVE) {
-           rpmFileAction * actions = fi->actions;
-           rpmFileAction action = fi->action;
-
-           fi->action = FA_COPYOUT;
-           fi->actions = NULL;
-
-           if (psm->fd == NULL) {      /* XXX can't happen */
-               rc = RPMRC_FAIL;
-               break;
-           }
-               /* FIX: fdDup mey return NULL. */
-           xx = Fflush(psm->fd);
-           psm->cfd = Fdopen(fdDup(Fileno(psm->fd)), psm->rpmio_flags);
-           if (psm->cfd == NULL) {     /* XXX can't happen */
-               rc = RPMRC_FAIL;
-               break;
-           }
-
-           rc = fsmSetup(fi->fsm, FSM_PKGBUILD, ts, fi, psm->cfd,
-                       NULL, &psm->failedFile);
-           (void) rpmswAdd(rpmtsOp(ts, RPMTS_OP_COMPRESS),
-                       fdOp(psm->cfd, FDSTAT_WRITE));
-           (void) rpmswAdd(rpmtsOp(ts, RPMTS_OP_DIGEST),
-                       fdOp(psm->cfd, FDSTAT_DIGEST));
-           xx = fsmTeardown(fi->fsm);
-
-           saveerrno = errno; /* XXX FIXME: Fclose with libio destroys errno */
-           xx = Fclose(psm->cfd);
-           psm->cfd = NULL;
-           errno = saveerrno;
-
-           /* XXX make sure progress is closed out */
-           psm->what = RPMCALLBACK_INST_PROGRESS;
-           psm->amount = (fi->archiveSize ? fi->archiveSize : 100);
-           psm->total = psm->amount;
-           xx = rpmpsmNext(psm, PSM_NOTIFY);
-
-           fi->action = action;
-           fi->actions = actions;
-       }
        break;
     case PSM_POST:
        if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST)        break;
@@ -1764,8 +1615,6 @@ assert(psm->mi == NULL);
            if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY))
                rc = rpmpsmNext(psm, PSM_RPMDB_REMOVE);
        }
-       if (psm->goal == PSM_PKGSAVE) {
-       }
 
        /* Restore root directory if changed. */
        xx = rpmpsmNext(psm, PSM_CHROOT_OUT);
@@ -1776,13 +1625,6 @@ assert(psm->mi == NULL);
        /* Restore root directory if changed. */
        xx = rpmpsmNext(psm, PSM_CHROOT_OUT);
 
-       if (psm->fd != NULL) {
-           saveerrno = errno; /* XXX FIXME: Fclose with libio destroys errno */
-           xx = Fclose(psm->fd);
-           psm->fd = NULL;
-           errno = saveerrno;
-       }
-
        if (rc) {
            if (psm->failedFile)
                rpmlog(RPMLOG_ERR,
@@ -1796,18 +1638,15 @@ assert(psm->mi == NULL);
            psm->what = RPMCALLBACK_CPIO_ERROR;
            psm->amount = 0;
            psm->total = 0;
-           /* FIX: psm->fd may be NULL. */
            xx = rpmpsmNext(psm, PSM_NOTIFY);
        }
 
-       if (psm->goal == PSM_PKGERASE || psm->goal == PSM_PKGSAVE) {
+       if (psm->goal == PSM_PKGERASE) {
            if (psm->te != NULL) 
                rpmteSetHeader(psm->te, NULL);
            if (fi->h != NULL)
                fi->h = headerFree(fi->h);
        }
-       psm->oh = headerFree(psm->oh);
-       psm->pkgURL = _free(psm->pkgURL);
        psm->rpmio_flags = _free(psm->rpmio_flags);
        psm->failedFile = _free(psm->failedFile);
 
@@ -1819,7 +1658,6 @@ assert(psm->mi == NULL);
 
     case PSM_PKGINSTALL:
     case PSM_PKGERASE:
-    case PSM_PKGSAVE:
        psm->goal = stage;
        psm->rc = RPMRC_OK;
        psm->stepName = pkgStageString(stage);
@@ -1912,7 +1750,7 @@ assert(psm->mi == NULL);
            payload_compressor = "gzip";
        psm->rpmio_flags = t = xmalloc(sizeof("w9.gzdio"));
        *t = '\0';
-       t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w9" : "r"));
+       t = stpcpy(t, "r");
        if (!strcmp(payload_compressor, "gzip"))
            t = stpcpy(t, ".gzdio");
        if (!strcmp(payload_compressor, "bzip2"))
index d5ba544..c19b536 100644 (file)
--- a/lib/psm.h
+++ b/lib/psm.h
@@ -36,7 +36,6 @@ typedef enum pkgStage_e {
     PSM_PKGINSTALL     =  7,
     PSM_PKGERASE       =  8,
     PSM_PKGCOMMIT      = 10,
-    PSM_PKGSAVE                = 12,
 
     PSM_CREATE         = 17,
     PSM_NOTIFY         = 22,
index 0a6c9ec..9c46a3a 100644 (file)
@@ -22,9 +22,9 @@ typedef enum rpmCallbackType_e {
     RPMCALLBACK_UNINST_PROGRESS        = (1 <<  7),
     RPMCALLBACK_UNINST_START   = (1 <<  8),
     RPMCALLBACK_UNINST_STOP    = (1 <<  9),
-    RPMCALLBACK_REPACKAGE_PROGRESS = (1 << 10),
-    RPMCALLBACK_REPACKAGE_START        = (1 << 11),
-    RPMCALLBACK_REPACKAGE_STOP = (1 << 12),
+    RPMCALLBACK_REPACKAGE_PROGRESS = (1 << 10),        /* obsolete, unused */
+    RPMCALLBACK_REPACKAGE_START        = (1 << 11),    /* obsolete, unused */
+    RPMCALLBACK_REPACKAGE_STOP = (1 << 12),    /* obsolete, unused */
     RPMCALLBACK_UNPACK_ERROR   = (1 << 13),
     RPMCALLBACK_CPIO_ERROR     = (1 << 14),
     RPMCALLBACK_SCRIPT_ERROR   = (1 << 15)
index 38b22c0..d192b82 100644 (file)
@@ -167,40 +167,6 @@ void * rpmShowProgress(const void * arg,
        rpmcliProgressCurrent = 0;
        break;
 
-    case RPMCALLBACK_REPACKAGE_START:
-       rpmcliHashesCurrent = 0;
-       rpmcliProgressTotal = total;
-       rpmcliProgressCurrent = 0;
-       if (!(flags & INSTALL_LABEL))
-           break;
-       if (flags & INSTALL_HASH)
-           fprintf(stdout, "%-28s\n", _("Repackaging..."));
-       else
-           fprintf(stdout, "%s\n", _("Repackaging erased files..."));
-       (void) fflush(stdout);
-       break;
-
-    case RPMCALLBACK_REPACKAGE_PROGRESS:
-       if (amount && (flags & INSTALL_HASH))
-           printHash(1, 1);    /* Fixes "preparing..." progress bar */
-       break;
-
-    case RPMCALLBACK_REPACKAGE_STOP:
-       rpmcliProgressTotal = total;
-       rpmcliProgressCurrent = total;
-       if (flags & INSTALL_HASH)
-           printHash(1, 1);    /* Fixes "preparing..." progress bar */
-       rpmcliProgressTotal = rpmcliPackagesTotal;
-       rpmcliProgressCurrent = 0;
-       if (!(flags & INSTALL_LABEL))
-           break;
-       if (flags & INSTALL_HASH)
-           fprintf(stdout, "%-28s\n", _("Upgrading..."));
-       else
-           fprintf(stdout, "%s\n", _("Upgrading packages..."));
-       (void) fflush(stdout);
-       break;
-
     case RPMCALLBACK_UNINST_PROGRESS:
        break;
     case RPMCALLBACK_UNINST_START:
@@ -265,9 +231,6 @@ int rpmInstall(rpmts ts,
 
     rpmcliPackagesTotal = 0;
 
-    if (rpmExpandNumeric("%{?_repackage_all_erasures}"))
-       ia->transFlags |= RPMTRANS_FLAG_REPACKAGE;
-
     (void) rpmtsSetFlags(ts, ia->transFlags);
 
     probFilter = ia->probFilter;
@@ -708,9 +671,6 @@ int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia,
        vsflags |= RPMVSF_NOHDRCHK;
     ovsflags = rpmtsSetVSFlags(ts, vsflags);
 
-    if (rpmExpandNumeric("%{?_repackage_all_erasures}"))
-       ia->transFlags |= RPMTRANS_FLAG_REPACKAGE;
-
     /* XXX suggest mechanism only meaningful when installing */
     ia->transFlags |= RPMTRANS_FLAG_NOSUGGEST;
 
index 401c70b..b1f5391 100644 (file)
@@ -848,7 +848,6 @@ static void rpmtsPrintStats(rpmts ts)
     rpmtsPrintStat("check:       ", rpmtsOp(ts, RPMTS_OP_CHECK));
     rpmtsPrintStat("order:       ", rpmtsOp(ts, RPMTS_OP_ORDER));
     rpmtsPrintStat("fingerprint: ", rpmtsOp(ts, RPMTS_OP_FINGERPRINT));
-    rpmtsPrintStat("repackage:   ", rpmtsOp(ts, RPMTS_OP_REPACKAGE));
     rpmtsPrintStat("install:     ", rpmtsOp(ts, RPMTS_OP_INSTALL));
     rpmtsPrintStat("erase:       ", rpmtsOp(ts, RPMTS_OP_ERASE));
     rpmtsPrintStat("scriptlets:  ", rpmtsOp(ts, RPMTS_OP_SCRIPTLETS));
index d3895b7..1a51562 100644 (file)
@@ -37,8 +37,8 @@ typedef enum rpmtransFlags_e {
     RPMTRANS_FLAG_ALLFILES     = (1 <<  6),    /*!< from --allfiles */
     RPMTRANS_FLAG_KEEPOBSOLETE = (1 <<  7),    /*!< @todo Document. */
     RPMTRANS_FLAG_NOCONTEXTS   = (1 <<  8),    /*!< from --nocontexts */
-    RPMTRANS_FLAG_DIRSTASH     = (1 <<  9),    /*!< from --dirstash */
-    RPMTRANS_FLAG_REPACKAGE    = (1 << 10),    /*!< from --repackage */
+    RPMTRANS_FLAG_DIRSTASH     = (1 <<  9),    /*!< obsolete, unused */
+    RPMTRANS_FLAG_REPACKAGE    = (1 << 10),    /*!< obsolete, unused */
 
     RPMTRANS_FLAG_PKGCOMMIT    = (1 << 11),
     RPMTRANS_FLAG_PKGUNDO      = (1 << 12),
@@ -130,7 +130,6 @@ typedef     enum rpmtsOpX_e {
     RPMTS_OP_CHECK             =  1,
     RPMTS_OP_ORDER             =  2,
     RPMTS_OP_FINGERPRINT       =  3,
-    RPMTS_OP_REPACKAGE         =  4,
     RPMTS_OP_INSTALL           =  5,
     RPMTS_OP_ERASE             =  6,
     RPMTS_OP_SCRIPTLETS                =  7,
index 39e96f7..78791ab 100644 (file)
@@ -1372,58 +1372,6 @@ assert(psm != NULL);
     }
 
     /* ===============================================
-     * Save removed files before erasing.
-     */
-    if (rpmtsFlags(ts) & (RPMTRANS_FLAG_DIRSTASH | RPMTRANS_FLAG_REPACKAGE)) {
-       int progress;
-
-       progress = 0;
-       pi = rpmtsiInit(ts);
-       while ((p = rpmtsiNext(pi, 0)) != NULL) {
-
-           if ((fi = rpmtsiFi(pi)) == NULL)
-               continue;       /* XXX can't happen */
-           switch (rpmteType(p)) {
-           case TR_ADDED:
-               break;
-           case TR_REMOVED:
-               if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_REPACKAGE))
-                   break;
-               if (!progress)
-                   NOTIFY(ts, (NULL, RPMCALLBACK_REPACKAGE_START,
-                               7, numRemoved, NULL, ts->notifyData));
-
-               NOTIFY(ts, (NULL, RPMCALLBACK_REPACKAGE_PROGRESS, progress,
-                       numRemoved, NULL, ts->notifyData));
-               progress++;
-
-               (void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_REPACKAGE), 0);
-
-       /* XXX TR_REMOVED needs CPIO_MAP_{ABSOLUTE,ADDDOT} CPIO_ALL_HARDLINKS */
-               fi->mapflags |= CPIO_MAP_ABSOLUTE;
-               fi->mapflags |= CPIO_MAP_ADDDOT;
-               fi->mapflags |= CPIO_ALL_HARDLINKS;
-               psm = rpmpsmNew(ts, p, fi);
-assert(psm != NULL);
-               xx = rpmpsmStage(psm, PSM_PKGSAVE);
-               psm = rpmpsmFree(psm);
-               fi->mapflags &= ~CPIO_MAP_ABSOLUTE;
-               fi->mapflags &= ~CPIO_MAP_ADDDOT;
-               fi->mapflags &= ~CPIO_ALL_HARDLINKS;
-
-               (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_REPACKAGE), 0);
-
-               break;
-           }
-       }
-       pi = rpmtsiFree(pi);
-       if (progress) {
-           NOTIFY(ts, (NULL, RPMCALLBACK_REPACKAGE_STOP, 7, numRemoved,
-                       NULL, ts->notifyData));
-       }
-    }
-
-    /* ===============================================
      * Install and remove packages.
      */
     lastFailKey = (rpmalKey)-2;        /* erased packages have -1 */
index baf9cc6..e4cd2df 100644 (file)
--- a/macros.in
+++ b/macros.in
@@ -713,22 +713,6 @@ print (t)\
 # XXX  Note: escaped %% for use in headerSprintf()
 #%_solve_name_fmt      %{?_solve_pkgsdir}%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
 
-#      The output binary package file name template used when repackaging
-#      erased packages.
-#
-# XXX  Note: escaped %% for use in headerSprintf()
-%_repackage_name_fmt   %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
-
-#      The directory in which erased packages will be saved when using
-#      the --repackage option.
-%_repackage_dir                /var/spool/repackage
-
-#      A path (i.e. URL) prefix that is pre-pended to %{_repackage_dir}.
-%_repackage_root       %{nil}
-
-#      If non-zero, all erasures will be automagically repackaged.
-%_repackage_all_erasures       0
-
 #      Verify digest/signature flags for various rpm modes:
 #      0x30300 (_RPMVSF_NODIGESTS)    --nohdrchk      if set, don't check digest(s)
 #      0xc0c00 (_RPMVSF_NOSIGNATURES) --nosignature   if set, don't check signature(s)