Hello community, here is the log from the commit of package inst-source-utils for openSUSE:Factory checked in at 2013-01-29 10:46:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/inst-source-utils (Old) and /work/SRC/openSUSE:Factory/.inst-source-utils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "inst-source-utils", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/inst-source-utils/inst-source-utils.changes 2012-12-14 09:18:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.inst-source-utils.new/inst-source-utils.changes 2013-01-29 10:46:38.000000000 +0100 @@ -1,0 +2,6 @@ +Fri Jan 25 01:23:46 CET 2013 - [email protected] + +- use "strict" for create_package_descr +- add support for -e (eula_dir) parameter in create_package_descr + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ inst-source-utils.spec ++++++ --- /var/tmp/diff_new_pack.PkcXxv/_old 2013-01-29 10:46:39.000000000 +0100 +++ /var/tmp/diff_new_pack.PkcXxv/_new 2013-01-29 10:46:39.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package inst-source-utils # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed ++++++ inst-source-utils.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inst-source-utils/usr/bin/create_package_descr new/inst-source-utils/usr/bin/create_package_descr --- old/inst-source-utils/usr/bin/create_package_descr 2012-12-05 13:30:13.000000000 +0100 +++ new/inst-source-utils/usr/bin/create_package_descr 2013-01-25 01:22:42.000000000 +0100 @@ -32,11 +32,11 @@ use File::stat; use FileHandle; -use strict 'refs'; +use strict; use RPMQ; use Digest::MD5 (); -local (@DATADIRS,@IGNOREDIRS,@LANGUAGES,%SEEN_PACKAGE,%IGNORE_PACKAGE,@SHA_CACHEDIR); +my (@DATADIRS,@IGNOREDIRS,@LANGUAGES,%SEEN_PACKAGE,%IGNORE_PACKAGE,@SHA_CACHEDIR); my %lang_alias = ( "czech"=>"cs", "english"=>"en", "french"=>"fr", @@ -64,12 +64,27 @@ my %used_fallbacks; my $num_pdb_records = 0; my $checksum_binary = "sha1sum"; +my $pdb_data_dir = ""; +my $eula_data_dir = ""; +my $ignore_file = ""; +my $ignore_dir = ""; +my $output_dir = ""; +my $extra_requires = ""; +my $extra_provides = ""; +my $extra_tags = ""; +my $with_links = ""; + +my %xprovlist; +my %xreqlist; +my %xtaglist; +my %pkg_lang; sub usage { my $exit_code=shift || 1; print "Usage: create_package_descr [OPTIONS]\n"; print " [-d DATADIR1 [-d DATADIR2 [... ] ] ] (default cwd)\n"; print " [-p PDB_DATA_DIR ]\n"; + print " [-e EULA_DIR ]\n"; print " [-x EXTRA_PROV_FILE ]\n"; print " [-r EXTRA_REQUIRES_FILE]\n"; print " [-i IGNORE_DIR [ -i IGNORE_DIR [... ] ] ]\n"; @@ -125,7 +140,7 @@ push @SAVEARGS, $_; } -while ( $arg = shift ( @ARGV ) ) { +while ( my $arg = shift ( @ARGV ) ) { if ( $arg eq "-d" ) { push @DATADIRS , shift @ARGV ; } elsif ( $arg eq "-B" ) { $src_requires = 1; } elsif ( $arg eq "-V" ) { $add_vendor = 1; } @@ -146,6 +161,7 @@ elsif (( $arg eq "-h" ) || ( $arg eq "--help" )) { shift @ARGV ; usage(0); } elsif ( $arg eq "-o" ) { $output_dir = shift @ARGV ; } elsif ( $arg eq "-p" ) { $pdb_data_dir = shift @ARGV ; } + elsif ( $arg eq "-e" ) { $eula_data_dir = shift @ARGV ; } elsif ( $arg eq "-r" ) { $extra_requires = shift @ARGV ; } elsif ( $arg eq "-x" ) { $extra_provides = shift @ARGV ; } elsif ( $arg eq "-T" ) { $extra_tags = shift @ARGV ; } @@ -216,7 +232,7 @@ if ( @IGNOREDIRS ) { foreach $ignore_dir (@IGNOREDIRS) { if ( -d "$ignore_dir" && opendir ( IGNDIR, "$ignore_dir") ) { - while ( $ign = readdir( IGNDIR ) ) { + while ( my $ign = readdir( IGNDIR ) ) { next if ( $ign =~ /^\./ ); $IGNORE_PACKAGE{$ign} = "yes"; } @@ -228,7 +244,7 @@ if ( "$ignore_file" ) { if ( -f "$ignore_file" && open ( IGNFILE, "$ignore_file" ) ) { - while ( $ign = <IGNFILE> ) { + while ( my $ign = <IGNFILE> ) { chomp ( $ign ); $IGNORE_PACKAGE{$ign} = "yes"; } @@ -241,23 +257,23 @@ print "WARNING: ignoring all source packages\n"; } -$pkg_main = OpenFileWrite ( "$output_dir/packages" ); +my $pkg_main = OpenFileWrite ( "$output_dir/packages" ); WriteSEntry( $pkg_main, "Ver", "2.0" ); -foreach $lang (@LANGUAGES) { +foreach my $lang (@LANGUAGES) { $pkg_lang{$lang} = OpenFileWrite ( "$output_dir/packages.$lang_alias{$lang}" ); WriteSEntry( $pkg_lang{$lang}, "Ver", "2.0" ); } -$pkg_du = OpenFileWrite ( "$output_dir/packages.DU" ); -$pkg_fl = OpenFileWrite ( "$output_dir/packages.FL" ) if $do_file_list; +my $pkg_du = OpenFileWrite ( "$output_dir/packages.DU" ); +my $pkg_fl = OpenFileWrite ( "$output_dir/packages.FL" ) if $do_file_list; WriteSEntry( $pkg_du, "Ver", "2.0" ); WriteSEntry( $pkg_fl, "Ver", "2.0" ) if $do_file_list; -$media_number = 0; -$allcounter = 0; -$wrote_comment = 0; +my $media_number = 0; +my $allcounter = 0; +my $wrote_comment = 0; -foreach $datapath (@DATADIRS) { +foreach my $datapath (@DATADIRS) { $media_number++; open ( FIND, "find '$datapath' -maxdepth 2 $with_links -name \"*.[rs]pm\" -print | sort |" ); my @pkg_arr = (); @@ -275,11 +291,11 @@ foreach my $package (@pkg_arr,@src_arr) { $allcounter++; print "INFO: CD$media_number - Pkg: $allcounter\r" if ( -t STDOUT ); - $filespec = "$package"; + my $filespec = "$package"; chomp ( $filespec ); $filespec =~ /\/([^\/]*)$/; - $filename = $1; - $filesize = stat($filespec)->size; + my $filename = $1; + my $filesize = stat($filespec)->size; # name, version, release, arch, obsolete, requires, provides, # conflicts, copyright, group, buildtime, size, sourcerpm my %res = RPMQ::rpmq_many("$package", 1000, 1001, 1002, 1022, @@ -302,7 +318,7 @@ RPMQ::rpmq_add_flagsvers(\%res, 1054, 1053, 1055); # conflicts RPMQ::rpmq_add_flagsvers(\%res, 1156, 1158, 1157); # suggests RPMQ::rpmq_add_flagsvers(\%res, 1159, 1161, 1160); # enhances - $rpm_name = $res{1000}[0]; + my $rpm_name = $res{1000}[0]; if ( $IGNORE_PACKAGE{$rpm_name} && $IGNORE_PACKAGE{$rpm_name} eq "yes" ) { $ignored_packages .= " $rpm_name"; next; @@ -315,8 +331,12 @@ my $checksum = ""; my $dummy = ""; my $hash = ""; + my $DULIST; + my $FLIST; + my $file_arch; + my %pacdata; - $srcrpm = $res{1044}[0]; + my $srcrpm = $res{1044}[0]; $srcrpm =~ s/^(.*)-([^-]*)-([^-]*)\.([^\.]*)\.rpm$/$1 $2 $3 $4/; if ($do_checksums eq "1") { if ( $have_sha_cache ne "0" ) { @@ -370,13 +390,13 @@ } my %x_prov = (); if ( $xprovlist{"$rpm_name.$file_arch"} ) { - foreach $xprov (split('\s', $xprovlist{"$rpm_name.$file_arch"} )) { + foreach my $xprov (split('\s', $xprovlist{"$rpm_name.$file_arch"} )) { $x_prov{$xprov} = 1; } } # should be else if, but merging both is needed right now if ( $xprovlist{$rpm_name} ) { - foreach $xprov (split('\s', $xprovlist{$rpm_name} )) { + foreach my $xprov (split('\s', $xprovlist{$rpm_name} )) { $x_prov{$xprov} = 1; } } @@ -387,7 +407,7 @@ push @{$res{1047}}, sort keys %x_prov; # adding additional requires for a package (but not for src packages) if ($xreqlist{$rpm_name} && $res{1044}[0]) { - foreach $xreq (split('\s', $xreqlist{$rpm_name} )) { + foreach my $xreq (split('\s', $xreqlist{$rpm_name} )) { push (@{$res{1049}},$xreq); } } @@ -428,7 +448,7 @@ WriteAnyEntry( $pkg_main, $xtaglist{$rpm_name} ) if ($xtaglist{$rpm_name} && $res{1044}[0]); if ($SEEN_PACKAGE{"$rpm_name $res{1001}[0] $res{1002}[0]"} && $allow_shr) { - $found_in = $SEEN_PACKAGE{"$rpm_name $res{1001}[0] $res{1002}[0]"}; + my $found_in = $SEEN_PACKAGE{"$rpm_name $res{1001}[0] $res{1002}[0]"}; WriteSEntry( $pkg_main, "Shr", "$res{1000}[0] $res{1001}[0] $res{1002}[0] $found_in"); } else { if ( $pdb_data_dir ) { @@ -441,7 +461,7 @@ $pac_rpm_name =~ s/-x86$//; $pac_rpm_name =~ s/-ia32$//; $pac_rpm_name =~ s/-lang$//; - $pac_rpm_name =~ s/-debuginfo$//; + $pac_rpm_name =~ s/-debuginfo$//; $pac_rpm_name =~ s/-debugsource$//; $pac_rpm_name =~ s/-kmp-[^-]*$/-KMP/; } @@ -450,20 +470,20 @@ } else { # no pdb data for this package, use rpm summary #warn "ERROR: no pdb data for $pac_rpm_name\n"; - $pacdata{$pac_rpm_name}{"$default_lang"}{"label"} = "$res{1004}[0]"; + $pacdata{$pac_rpm_name}{$default_lang}{'label'} = "$res{1004}[0]"; } - if ( ! $pacdata{$pac_rpm_name}{"$default_lang"}{"label"} ) { + if ( ! $pacdata{$pac_rpm_name}{$default_lang}{'label'} ) { warn "ERROR: no pdb data for $pac_rpm_name received\n"; } - if ( $pacdata{$pac_rpm_name}{"$default_lang"}{"label"} =~ /\n/ ) { + if ( $pacdata{$pac_rpm_name}{$default_lang}{'label'} =~ /\n/ ) { warn "ERROR: newline in summary for package $pac_rpm_name\n"; - $pacdata{$pac_rpm_name}{"$default_lang"}{"label"} =~ s/\n/ /g; + $pacdata{$pac_rpm_name}{$default_lang}{'label'} =~ s/\n/ /g; } WriteMEntry( $pkg_main, "Aut", @{$pacdata{$pac_rpm_name}{"authorname"}} ); if ( $do_keywords eq "1" && $pacdata{$pac_rpm_name}{"keywords"} ) { WriteMEntry( $pkg_main, "Kwd", @{$pacdata{$pac_rpm_name}{"keywords"}} ); } - foreach $lang (@LANGUAGES) { + foreach my $lang (@LANGUAGES) { WriteSeparator( $pkg_lang{$lang} ); WriteSEntry( $pkg_lang{$lang}, "Pkg", "$res{1000}[0] $res{1001}[0] $res{1002}[0] $file_arch"); if ( $pacdata{$pac_rpm_name}{$lang}{"label"} ) { @@ -471,53 +491,61 @@ warn "ERROR: newline in $lang summary for package $pac_rpm_name\n"; $pacdata{$pac_rpm_name}{$lang}{"label"} =~ s/\n/ /g; } - WriteSEntry( $pkg_lang{$lang}, "Sum", $pacdata{$pac_rpm_name}{$lang}{"label"} ); + WriteSEntry( $pkg_lang{$lang}, "Sum", $pacdata{$pac_rpm_name}{$lang}{'label'} ); } else { - WriteSEntry( $pkg_lang{$lang}, "Sum", $pacdata{$pac_rpm_name}{"$default_lang"}{"label"} ); + WriteSEntry( $pkg_lang{$lang}, "Sum", $pacdata{$pac_rpm_name}{$default_lang}{'label'} ); $used_fallbacks{$lang}++; } if ( $prefer_yastdescr eq "1" ) { - foreach $tag (sort keys (%tag_short)) { - if ( $pacdata{$pac_rpm_name}{$lang}{$tag._yast} ) { - WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$lang}{$tag._yast}}); + foreach my $tag (sort keys (%tag_short)) { + my $ytag = $tag."_yast"; + if ( $pacdata{$pac_rpm_name}{$lang}{$ytag} ) { + WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$lang}{$ytag}}); } elsif ( $pacdata{$pac_rpm_name}{$lang}{$tag} ) { WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$lang}{$tag}}); - } elsif ( $pacdata{$pac_rpm_name}{"$default_lang"}{$tag._yast} ) { - WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{"$default_lang"}{$tag._yast}}); + } elsif ( $pacdata{$pac_rpm_name}{$default_lang}{$ytag} ) { + WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$default_lang}{$ytag}}); } else { - WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{"$default_lang"}{$tag}}); + WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$default_lang}{$tag}}); } } if ( $add_licenses eq "1" ) { if ( $pacdata{$pac_rpm_name}{$lang}{'confirmlic_yast'} ) { WriteMEntry( $pkg_lang{$lang}, "Eul", @{$pacdata{$pac_rpm_name}{$lang}{'confirmlic_yast'}}); - } elsif ( $pacdata{$pac_rpm_name}{"$default_lang"}{'confirmlic_yast'} ) { - WriteMEntry( $pkg_lang{$lang}, "Eul", @{$pacdata{$pac_rpm_name}{"$default_lang"}{'confirmlic_yast'}}); + } elsif ( $pacdata{$pac_rpm_name}{$default_lang}{'confirmlic_yast'} ) { + WriteMEntry( $pkg_lang{$lang}, "Eul", @{$pacdata{$pac_rpm_name}{$default_lang}{'confirmlic_yast'}}); } } } else { - foreach $tag (sort keys (%tag_short)) { + foreach my $tag (sort keys (%tag_short)) { if ( $pacdata{$pac_rpm_name}{$lang}{$tag} ) { WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$lang}{$tag}}); } else { - WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{"$default_lang"}{$tag}}); + WriteMEntry( $pkg_lang{$lang}, $tag_short{$tag}, @{$pacdata{$pac_rpm_name}{$default_lang}{$tag}}); } } if ( $add_licenses eq "1" ) { if ( $pacdata{$pac_rpm_name}{$lang}{'confirmlic'} ) { WriteMEntry( $pkg_lang{$lang}, "Eul", @{$pacdata{$pac_rpm_name}{$lang}{'confirmlic'}}); - } elsif ( $pacdata{$pac_rpm_name}{"$default_lang"}{'confirmlic'} ) { - WriteMEntry( $pkg_lang{$lang}, "Eul", @{$pacdata{$pac_rpm_name}{"$default_lang"}{'confirmlic'}}); + } elsif ( $pacdata{$pac_rpm_name}{$default_lang}{'confirmlic'} ) { + WriteMEntry( $pkg_lang{$lang}, "Eul", @{$pacdata{$pac_rpm_name}{$default_lang}{'confirmlic'}}); } } } } } else { - foreach $lang (@LANGUAGES) { + foreach my $lang (@LANGUAGES) { WriteSeparator( $pkg_lang{$lang} ); WriteSEntry( $pkg_lang{$lang}, "Pkg", "$res{1000}[0] $res{1001}[0] $res{1002}[0] $file_arch"); WriteSEntry( $pkg_lang{$lang}, "Sum", "$res{1004}[0]" ); WriteMEntry( $pkg_lang{$lang}, "Des", split('\n', $res{1005}[0] )); + if ( $add_licenses eq "1" && -f "$eula_data_dir/$rpm_name.en") { + open (LIC,"$eula_data_dir/$rpm_name.en"); + my @license = <LIC>; + close (LIC); + WriteMEntry( $pkg_lang{$lang}, "Eul", @license); + } + } } } @@ -538,7 +566,7 @@ } close ( $pkg_main ); -foreach $lang (@LANGUAGES) { +foreach my $lang (@LANGUAGES) { close ( "$pkg_lang{$lang}" ); } close ( $pkg_du ); @@ -546,17 +574,17 @@ if ($num_pdb_records) { warn ("used pdb records $num_pdb_records\n") if $num_pdb_records; - foreach $lang (@LANGUAGES) { + foreach my $lang (@LANGUAGES) { warn ("used fallbacks for $lang $used_fallbacks{$lang}\n"); } } print "INFO: now recoding to UTF-8: "; -foreach $file ("packages","packages.DU") { +foreach my $file ("packages","packages.DU") { print "$file "; system ( "recode", "ISO-8859-1...UTF-8", "$output_dir/$file" ); } -foreach $lang (@LANGUAGES) { - $file = "packages.$lang_alias{$lang}"; +foreach my $lang (@LANGUAGES) { + my $file = "packages.$lang_alias{$lang}"; print "$file "; if ( $lang eq "czech" || $lang eq "hungarian" ) { system ( "recode", "ISO-8859-2...UTF-8", "$output_dir/$file" ); @@ -595,15 +623,15 @@ } sub ReadFileToHash { - local ($filename) = @_; - local (%temp); + my ($filename) = @_; + my (%temp); my $FH = OpenFileRead( "$filename" ); while (<$FH>) { chomp ($_); last if ( $_ =~ /^:END/ ); next if ( $_ =~ /^\#/ ); next if ( $_ =~ /^\s$/ ); - local ($le,$ri) = split (/:/, $_, 2 ); + my ($le,$ri) = split (/:/, $_, 2 ); $le =~ s/^\s*(.*)\s*$/$1/; $ri =~ s/^\s*(.*)\s*$/$1/; $ri =~ s/\\n/\n/g; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
