From 9d96465d1a4bc510232598aa18beee6f57d8ad2e Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 22 Sep 2008 07:58:49 +0000 Subject: rename genhdlist to genhdlist-old --- MANIFEST | 2 +- Makefile.PL | 4 +- NEWS | 2 + genhdlist | 193 ---------------------------------------------------------- genhdlist-old | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 198 insertions(+), 196 deletions(-) delete mode 100644 genhdlist create mode 100644 genhdlist-old diff --git a/MANIFEST b/MANIFEST index f7dc6c6..3d8d63c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2,7 +2,7 @@ ChangeLog dumpdistribconf editdistrib gendistrib -genhdlist +genhdlist-old genhdlist2 Makefile.PL MANIFEST diff --git a/Makefile.PL b/Makefile.PL index ea26b78..830aec4 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -84,7 +84,7 @@ WriteMakefile( PM => { 'packdrake.pm' => '$(INST_LIBDIR)/packdrake.pm', }, - EXE_FILES => [ qw(gendistrib genhdlist genhdlist2 packdrake rpm2header parsehdlist rpm2cpio.pl dumpdistribconf) ], + EXE_FILES => [ qw(gendistrib genhdlist-old genhdlist2 packdrake rpm2header parsehdlist rpm2cpio.pl dumpdistribconf) ], C => [], OBJECT => '', CCFLAGS => '-Wall', @@ -95,7 +95,7 @@ WriteMakefile( MAN1PODS => { dumpdistribconf => '$(INST_MAN1DIR)/dumpdistribconf.1', gendistrib => '$(INST_MAN1DIR)/gendistrib.1', - genhdlist => '$(INST_MAN1DIR)/genhdlist.1', + 'genhdlist-old' => '$(INST_MAN1DIR)/genhdlist-old.1', genhdlist2 => '$(INST_MAN1DIR)/genhdlist2.1', packdrake => '$(INST_MAN1DIR)/packdrake.1', }, diff --git a/NEWS b/NEWS index 6d66ab9..ad45760 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ - parsehdlist, rpm2header o fix support for rpm5 o update deprecated code +- genhdlist-old + o genhdlist is now renamed as genhdlist-old Version 5.6 - 18 March 2008, by Pascal "Pixel" Rigaux diff --git a/genhdlist b/genhdlist deleted file mode 100644 index e64f3d2..0000000 --- a/genhdlist +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/perl - -(our $VERSION) = q$Id$ =~ /(\d+\.\d+)/; - -use strict; -use URPM; -use URPM::Build; -use File::Find (); -use File::Path; -use Getopt::Long; -use Pod::Usage; -use File::Temp qw(tempdir); - -my ($nooutput, $nobadrpm, $md5sum, $subdir, $suffix, $dest) = (0, 0, 0, "", "", ""); -my $tmpdir_tpl = (-d "$ENV{HOME}/tmp" ? "$ENV{HOME}/tmp" : $ENV{TMPDIR} || "/tmp") . "/.build_hdlistXXXXX"; - -sub usage () { - pod2usage({ -verbose => 1 }); -} - -GetOptions( - 'dest=s' => \$dest, - 'help|h' => sub { usage(); exit 0 }, - list => \my $list, - nobadrpm => \$nobadrpm, - noclean => \my $noclean, - md5sum => \$md5sum, - norecursive => \my $norecursive, - s => \$nooutput, - 'subdir=s' => \$subdir, - 'suffix=s' => \$suffix, - 'v|version' => sub { warn "$0 version $VERSION\n"; exit 0 }, -); - -$list and die "--list is not handled anymore by urpmi, use hdlist/synthesis instead\n"; - -my $urpm = new URPM; -if ($subdir && $subdir !~ m{/$}) { $subdir .= '/' } -my $hdlist_base = "hdlist$suffix.cz"; -my $hdlist = $subdir . $hdlist_base; -my $synthesis_base = "synthesis.$hdlist_base"; -my $synthesis = $subdir . $synthesis_base; -my @dir = @ARGV ? @ARGV : ("."); - -grep { m!^/! } @dir and die "Directories to parse should be relative\n"; - -$dest and do { chdir $dest or die "Can't chdir in directory $dest\n" }; - -if ($subdir && !-e $subdir) { - mkdir $subdir - or die "Can't mkdir $subdir: $!n"; -} -if ($subdir) { - -d $subdir && -w _ && -x _ - or die "$subdir isn't a writable directory, bailing out\n"; -} -my $tmpdir = tempdir($tmpdir_tpl, CLEANUP => !$noclean); - -my @rpms; - -foreach my $dir (@dir) { - print "parsing $dir\n" unless $nooutput; - @rpms = (); - File::Find::find( - { - wanted => sub { - next if $norecursive && $File::Find::dir ne $dir; - if (/^.*\.rpm$/ && -f) { - push(@rpms, $File::Find::name); - } - }, - follow => 1, - }, $dir, - ); - $urpm->parse_rpms_build_headers( - dir => $tmpdir, - rpms => \@rpms, - dontdie => $nobadrpm, - silent => $nooutput, - packing => 1, - ); -} - -# create hdlist file -# No rpms, exit ! -#@{$urpm->{depslist}} or die "Nothing read, no file to write\n"; - -$urpm->build_hdlist( - start => 0, - end => $#{$urpm->{depslist}}, - dir => $tmpdir, - hdlist => $hdlist, - ratio => 9, -); - -# create synthesis file -$urpm->build_synthesis( - start => 0, - end => $#{$urpm->{depslist}}, - synthesis => $synthesis, -); - -if ($md5sum) { - my $m = qx(cd '$subdir' && /usr/bin/md5sum '$hdlist_base' '$synthesis_base'); - open my $f, '>', "${subdir}MD5SUM" or die "Can't write MD5SUM: $!\n"; - print $f $m; - close $f; -} - -__END__ - -=head1 NAME - -genhdlist - generates an hdlist and a synthesis file - -=head1 SYNOPSIS - - genhdlist [options] dir [dir...] - -=head1 OPTIONS - -=over 4 - -=item --dest dir - -Build indexes from this directory (that is, chdir's to this directory -before operation). - -=item --md5sum - -Generates an MD5SUM file. - -=item --nobadrpm - -Do not abort on bad rpms. - -=item --noclean - -Keep cache files. - -=item --norecursive - -Do not recurse in subdirectories. - -=item -s - -Silent mode. - -=item --subdir directory - -Write indexes in this subdirectory. - -=item --suffix SUFFIX - -Put a suffix on list/hdlist/synthesis names (for example, C<_main>). - -=back - -=head1 DESCRIPTION - -F is used to generate an hdlist and an associated synthesis file -from a set of RPM packages found in the directories passed on the command-line. -By default it will put the hdlist and synthesis files in the current directory. - -If the option B<--list> is given, it will also generate a F file containing -the relative paths to all RPMs. Consequently, the paths to the directories -passed to F must be relative ones. - -=head1 SEE ALSO - -gendistrib(1), parsehdlist(1) - -=head1 COPYRIGHT - -Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 MandrakeSoft SA - -Copyright (C) 2005, 2006 Mandriva SA - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -=cut diff --git a/genhdlist-old b/genhdlist-old new file mode 100644 index 0000000..f917cb5 --- /dev/null +++ b/genhdlist-old @@ -0,0 +1,193 @@ +#!/usr/bin/perl + +(our $VERSION) = q$Id$ =~ /(\d+\.\d+)/; + +use strict; +use URPM; +use URPM::Build; +use File::Find (); +use File::Path; +use Getopt::Long; +use Pod::Usage; +use File::Temp qw(tempdir); + +my ($nooutput, $nobadrpm, $md5sum, $subdir, $suffix, $dest) = (0, 0, 0, "", "", ""); +my $tmpdir_tpl = (-d "$ENV{HOME}/tmp" ? "$ENV{HOME}/tmp" : $ENV{TMPDIR} || "/tmp") . "/.build_hdlistXXXXX"; + +sub usage () { + pod2usage({ -verbose => 1 }); +} + +GetOptions( + 'dest=s' => \$dest, + 'help|h' => sub { usage(); exit 0 }, + list => \my $list, + nobadrpm => \$nobadrpm, + noclean => \my $noclean, + md5sum => \$md5sum, + norecursive => \my $norecursive, + s => \$nooutput, + 'subdir=s' => \$subdir, + 'suffix=s' => \$suffix, + 'v|version' => sub { warn "$0 version $VERSION\n"; exit 0 }, +); + +$list and die "--list is not handled anymore by urpmi, use hdlist/synthesis instead\n"; + +my $urpm = new URPM; +if ($subdir && $subdir !~ m{/$}) { $subdir .= '/' } +my $hdlist_base = "hdlist$suffix.cz"; +my $hdlist = $subdir . $hdlist_base; +my $synthesis_base = "synthesis.$hdlist_base"; +my $synthesis = $subdir . $synthesis_base; +my @dir = @ARGV ? @ARGV : ("."); + +grep { m!^/! } @dir and die "Directories to parse should be relative\n"; + +$dest and do { chdir $dest or die "Can't chdir in directory $dest\n" }; + +if ($subdir && !-e $subdir) { + mkdir $subdir + or die "Can't mkdir $subdir: $!n"; +} +if ($subdir) { + -d $subdir && -w _ && -x _ + or die "$subdir isn't a writable directory, bailing out\n"; +} +my $tmpdir = tempdir($tmpdir_tpl, CLEANUP => !$noclean); + +my @rpms; + +foreach my $dir (@dir) { + print "parsing $dir\n" unless $nooutput; + @rpms = (); + File::Find::find( + { + wanted => sub { + next if $norecursive && $File::Find::dir ne $dir; + if (/^.*\.rpm$/ && -f) { + push(@rpms, $File::Find::name); + } + }, + follow => 1, + }, $dir, + ); + $urpm->parse_rpms_build_headers( + dir => $tmpdir, + rpms => \@rpms, + dontdie => $nobadrpm, + silent => $nooutput, + packing => 1, + ); +} + +# create hdlist file +# No rpms, exit ! +#@{$urpm->{depslist}} or die "Nothing read, no file to write\n"; + +$urpm->build_hdlist( + start => 0, + end => $#{$urpm->{depslist}}, + dir => $tmpdir, + hdlist => $hdlist, + ratio => 9, +); + +# create synthesis file +$urpm->build_synthesis( + start => 0, + end => $#{$urpm->{depslist}}, + synthesis => $synthesis, +); + +if ($md5sum) { + my $m = qx(cd '$subdir' && /usr/bin/md5sum '$hdlist_base' '$synthesis_base'); + open my $f, '>', "${subdir}MD5SUM" or die "Can't write MD5SUM: $!\n"; + print $f $m; + close $f; +} + +__END__ + +=head1 NAME + +genhdlist-old - generates an hdlist and a synthesis file + +=head1 SYNOPSIS + + genhdlist-old [options] dir [dir...] + +=head1 OPTIONS + +=over 4 + +=item --dest dir + +Build indexes from this directory (that is, chdir's to this directory +before operation). + +=item --md5sum + +Generates an MD5SUM file. + +=item --nobadrpm + +Do not abort on bad rpms. + +=item --noclean + +Keep cache files. + +=item --norecursive + +Do not recurse in subdirectories. + +=item -s + +Silent mode. + +=item --subdir directory + +Write indexes in this subdirectory. + +=item --suffix SUFFIX + +Put a suffix on list/hdlist/synthesis names (for example, C<_main>). + +=back + +=head1 DESCRIPTION + +F is used to generate an hdlist and an associated synthesis file +from a set of RPM packages found in the directories passed on the command-line. +By default it will put the hdlist and synthesis files in the current directory. + +If the option B<--list> is given, it will also generate a F file containing +the relative paths to all RPMs. Consequently, the paths to the directories +passed to F must be relative ones. + +=head1 SEE ALSO + +genhdlist2(1), gendistrib(1), parsehdlist(1) + +=head1 COPYRIGHT + +Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 MandrakeSoft SA + +Copyright (C) 2005, 2006 Mandriva SA + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +=cut -- cgit v1.2.1