Re: createrepo/__init__.py createrepo/utils.py docs/createrepo.8 genpkgmetadata.py mergerepo.py

James Antill <[email protected]> Wed, 14 Sep 2011 11:21:30 -0400
Newsgroups gmane.linux.rpm.metadata
Organization Fedora
Message-ID <[email protected]>
On Fri, 2011-09-09 at 21:12 +0000, [email protected] wrote:
> createrepo/__init__.py |   44 +++++++++++++++++++++++++++++---------------
>  createrepo/utils.py    |   22 ++++++++++++++++++++++
>  docs/createrepo.8      |   10 +++++++++-
>  genpkgmetadata.py      |    4 +++-
>  mergerepo.py           |    5 +++++
>  5 files changed, 68 insertions(+), 17 deletions(-)
> 
> New commits:
> commit 773b3dd40ee7ec77b74ea3269cb0b27deafe29c0
> Author: Seth Vidal <[email protected]>
> Date:   Fri Sep 9 17:11:27 2011 -0400
> 
>     add xz support for making repodata - only use it on sqlitedbs and non primary/filelist/other xml data
>     leave primary/filelists/other xml files as gz for compatibility
>     add xz support to mergerepo

 All looks awesome, to me. Couple of minor comments:

> diff --git a/createrepo/__init__.py b/createrepo/__init__.py
> index 0fbbff3..7d147a9 100644
> --- a/createrepo/__init__.py
> +++ b/createrepo/__init__.py

> @@ -1038,7 +1051,7 @@ class MetaDataGenerator:
>  
>          if self.conf.additional_metadata:
>              for md_type, md_file in self.conf.additional_metadata.items():
> -                mdcontent = self._createRepoDataObject(md_file, md_type)
> +                mdcontent = self._createRepoDataObject(md_file, md_type, compress_type='xz')

 I assume the compress type should be a variable here?

> diff --git a/genpkgmetadata.py b/genpkgmetadata.py
> index 512420b..4ba445e 100755
> --- a/genpkgmetadata.py
> +++ b/genpkgmetadata.py
> @@ -121,10 +121,12 @@ def parse_args(args, conf):
>      parser.add_option("--max-delta-rpm-size", default=100000000,
>          dest='max_delta_rpm_size', type='int',
>          help="max size of an rpm that to run deltarpm against (in bytes)")
> -
>      parser.add_option("--workers", default=1,
>          dest='workers', type='int',
>          help="number of workers to spawn to read rpms")
> +    parser.add_option("--xz", default=False,
> +        action="store_true",
> +        help="use xz for repodata compression")

 As we discussed, should probably have a --compression=blah option too.

>      (opts, argsleft) = parser.parse_args(args)
>      if len(argsleft) > 1 and not opts.split:
> diff --git a/mergerepo.py b/mergerepo.py
> index 069a70b..882395a 100755
> --- a/mergerepo.py
> +++ b/mergerepo.py
> @@ -48,6 +48,9 @@ def parse_args(args):
>                        help="Do not merge group(comps) metadata")
>      parser.add_option("", "--noupdateinfo", default=False, action="store_true",
>                        help="Do not merge updateinfo metadata")
> +    parser.add_option("", "--xz", default=False, action="store_true",
> +                      help="Use xz for repodata compression")
> +                      
>      (opts, argsleft) = parser.parse_args(args)
>  
>      if len(opts.repos) < 2:
> @@ -78,6 +81,8 @@ def main(args):
>          rmbase.groups = False
>      if opts.noupdateinfo:
>          rmbase.updateinfo = False
> +    if opts.xz:
> +        rmbase.mdconf.xz = True
>      try:
>          rmbase.merge_repos()
>          rmbase.write_metadata()
> _______________________________________________
> Rpm-metadata mailing list
> [email protected]
> http://lists.baseurl.org/mailman/listinfo/rpm-metadata