RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/tools/ rpmrepo.c

From: Jeff Johnson <jbj@rpm5.org>
Date: Sat 18 Sep 2010 - 16:16:14 CEST
Message-Id: <20100918141614.C8440C1268@rpm5.org>
  RPM Package Manager, CVS Repository
  /cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  Module: rpm                              Date:   18-Sep-2010 16:16:14
  Branch: HEAD                             Handle: 2010091814161400

  Modified files:
    rpm/tools               rpmrepo.c

  Log:
    - repo: eliminate a pkglist argument.

  Summary:
    Revision    Changes     Path
    2.30        +15 -10     rpm/tools/rpmrepo.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/tools/rpmrepo.c
  ============================================================================
  $ cvs diff -u -r2.29 -r2.30 rpmrepo.c
  --- rpm/tools/rpmrepo.c	4 Sep 2010 18:26:56 -0000	2.29
  +++ rpm/tools/rpmrepo.c	18 Sep 2010 14:16:14 -0000	2.30
  @@ -60,6 +60,8 @@
   
   /*==============================================================*/
   
  +/*==============================================================*/
  +
   /**
    * Read a header from a repository package file, computing package file digest.
    * @param repo		repository
  @@ -117,6 +119,7 @@
   	case RPMRC_OK:
   	    if (repo->baseurl)
   		(void) headerSetBaseURL(h, repo->baseurl);
  +	    (void) headerSetInstance(h, (uint32_t)repo->current+1);
   	    break;
   	}
       }
  @@ -225,34 +228,36 @@
   /**
    * Export all package metadata to repository metadata file(s).
    * @param repo		repository
  - * @param pkglist	repository packages
    * @return		0 on success
    */
  -static int repoWriteMetadataDocs(rpmrepo repo, /*@null@*/ const char ** pkglist)
  +static int repoWriteMetadataDocs(rpmrepo repo)
   	/*@globals h_errno, rpmGlobalMacroContext, fileSystem, internalState @*/
   	/*@modifies repo, rpmGlobalMacroContext, fileSystem, internalState @*/
   {
  +    const char ** pkglist = repo->pkglist;
       const char * pkg;
       int rc = 0;
   
  +    if (pkglist)
       while ((pkg = *pkglist++) != NULL) {
   	Header h = repoReadHeader(repo, pkg);
   
   	repo->current++;
  -	if (h == NULL) {
  +
   	/* XXX repoReadHeader() displays error. Continuing is foolish */
  +	if (h == NULL) {
   	    rc = 1;
   	    break;
   	}
  -	(void) headerSetInstance(h, (uint32_t)repo->current);
   
  -#ifdef	NOTYET
  +#ifdef	REFERENCE
   	/* XXX todo: rpmGetPath(mydir, "/", filematrix[mydir], NULL); */
   	reldir = (pkgpath != NULL ? pkgpath : rpmGetPath(repo->basedir, "/", repo->directories[0], NULL));
   	self.primaryfile.write(po.do_primary_xml_dump(reldir, baseurl=repo->baseurl))
   	self.flfile.write(po.do_filelists_xml_dump())
   	self.otherfile.write(po.do_other_xml_dump())
   #endif
  +
   	if (rpmrepoWriteMDFile(repo, &repo->primary, h)
   	 || rpmrepoWriteMDFile(repo, &repo->filelists, h)
   	 || rpmrepoWriteMDFile(repo, &repo->other, h))
  @@ -285,7 +290,7 @@
   
       repo->current = 0;
   
  -#ifdef	NOTYET
  +#ifdef	REFERENCE
       def _getFragmentUrl(self, url, fragment):
           import urlparse
           urlparse.uses_fragment.append('media')
  @@ -330,7 +335,7 @@
   	rc = 1;
       if (rc) return rc;
   
  -#ifdef	NOTYET
  +#ifdef	REFERENCE
       for mydir in repo->directories {
   	repo->baseurl = self._getFragmentUrl(repo->baseurl, mediano)
   	/* XXX todo: rpmGetPath(mydir, "/", filematrix[mydir], NULL); */
  @@ -339,11 +344,11 @@
   	mediano++;
       }
       repo->baseurl = self._getFragmentUrl(repo->baseurl, 1)
  -#else
  -    if (repoWriteMetadataDocs(repo, repo->pkglist))
  -	rc = 1;
   #endif
   
  +    if (repoWriteMetadataDocs(repo))
  +	rc = 1;
  +
       if (!repo->quiet)
   	fprintf(stderr, "\n");
       if (rpmrepoCloseMDFile(repo, &repo->primary)
  @@ .
Received on Sat Sep 18 16:16:14 2010
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.