Hello community, here is the log from the commit of package rpmorphan for openSUSE:Factory checked in at 2013-04-02 12:55:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpmorphan (Old) and /work/SRC/openSUSE:Factory/.rpmorphan.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmorphan", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/rpmorphan/rpmorphan.changes 2012-10-07 20:00:19.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rpmorphan.new/rpmorphan.changes 2013-04-02 12:55:24.000000000 +0200 @@ -1,0 +2,10 @@ +Sun Mar 31 16:41:33 UTC 2013 - [email protected] + +- Update to 1.12: + * libs does not need to be executable + * move libs to /usr/lib/rpmorphan + * remove Data::Dumper dependency + * (rpmduplicates) take care of arch +- Added a Recommends: entry for perl-URPM (optional runtime requirement). + +------------------------------------------------------------------- Old: ---- rpmorphan-1.11.tar.gz New: ---- rpmorphan-1.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpmorphan.spec ++++++ --- /var/tmp/diff_new_pack.fRqgxF/_old 2013-04-02 12:55:27.000000000 +0200 +++ /var/tmp/diff_new_pack.fRqgxF/_new 2013-04-02 12:55:27.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package rpmorphan # -# 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 @@ -17,7 +17,7 @@ Name: rpmorphan -Version: 1.11 +Version: 1.12 Release: 0 Summary: List the orphaned RPM packages License: GPL-2.0+ @@ -29,6 +29,7 @@ Recommends: perl-Curses-UI Recommends: perl-RPM2 Recommends: perl-Tk +Recommends: perl-URPM BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -59,9 +60,6 @@ %{_bindir}/rpmextra %{_bindir}/rpmextra.pl %{_bindir}/rpmorphan -%{_bindir}/rpmorphan-curses-lib.pl -%{_bindir}/rpmorphan-lib.pl -%{_bindir}/rpmorphan-tk-lib.pl %{_bindir}/rpmorphan.pl %{_bindir}/rpmusage %{_bindir}/rpmusage.pl ++++++ rpmorphan-1.11.tar.gz -> rpmorphan-1.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/Changelog new/rpmorphan-1.12/Changelog --- old/rpmorphan-1.11/Changelog 2012-08-01 20:27:01.000000000 +0200 +++ new/rpmorphan-1.12/Changelog 2013-02-01 13:30:29.000000000 +0100 @@ -1,3 +1,9 @@ +2013-02-01 Eric Gerbier <[email protected]> 1.12 + * libs does not need to be executable + * move libs to /usr/lib/rpmorphan + * remove Data::Dumper dependency + * (rpmduplicates) take care of arch + 2012-08-03 Eric Gerbier <[email protected]> 1.11 * add suggests option * add /etc/rpmorphanrc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/Makefile new/rpmorphan-1.12/Makefile --- old/rpmorphan-1.11/Makefile 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/Makefile 2013-02-01 13:31:43.000000000 +0100 @@ -1,4 +1,4 @@ -# $Id: rpmorphan-1.11 | Makefile | Wed Aug 1 14:09:35 2012 +0200 | Eric Gerbier $ +# $Id: rpmorphan-1.12 | Makefile | Mon Jan 21 12:50:02 2013 +0100 | Eric Gerbier $ # recommanded by debian install guide DESTDIR= @@ -8,6 +8,7 @@ VERSION=$(shell grep Version rpmorphan.lsm | awk '{print $$2}') BINDIR = $(DESTDIR)/usr/bin +LIBDIR = $(DESTDIR)/usr/lib/rpmorphan/ LOGETC = $(DESTDIR)/etc/ LOGROT = $(LOGETC)/logrotate.d/ MANDIR = $(DESTDIR)/usr/share/man @@ -30,15 +31,16 @@ # others programs PROG2=rpmusage rpmdep rpmduplicates rpmextra -LIB=$(PACKAGE)-lib rpmorphan-curses-lib rpmorphan-tk-lib +LIBS=$(PACKAGE)-lib.pl rpmorphan-curses-lib.pl rpmorphan-tk-lib.pl PROGS = $(PACKAGE) $(PROG2) MANPAGES1 := $(addsuffix .1, $(PROGS)) HTMLPAGES := $(addsuffix .1.html, $(PROGS)) -SCRIPTS := $(addsuffix .pl, $(PROGS) $(LIB) ) +SCRIPTS := $(addsuffix .pl, $(PROGS) ) +CODE := $(SCRIPTS) $(LIBS) # file with keyword -KEYWORD_FILES = $(SCRIPTS) Makefile Readme Readme.fr rpmorphanrc.sample +KEYWORD_FILES = $(CODE) Makefile Readme Readme.fr rpmorphanrc.sample # translations LANGS := en fr_FR @@ -55,7 +57,7 @@ # loop to check all perl scripts define check_perl_script - for fic in $(SCRIPTS);do \ + for fic in $(CODE);do \ perl -cw $$fic || exit; \ perlcritic --verbose 10 -3 $$fic || exit; \ done; @@ -98,11 +100,13 @@ all: install # install perl scripts -install : $(DOC) $(MANPAGES1) $(SCRIPTS) +install : $(DOC) $(MANPAGES1) $(CODE) mkdir -p $(BINDIR) install -m 755 $(SCRIPTS) $(BINDIR) $(make_links) cd $(BINDIR) && ln -s rpmorphan grpmorphan + mkdir -p $(LIBDIR) + install -m 755 $(LIBS) $(LIBDIR) mkdir -p $(MAN1DIR) install -m 644 ${MANPAGES1} $(MAN1DIR) mkdir -p $(DATADIR) @@ -123,6 +127,7 @@ uninstall : cd $(BINDIR) && rm $(SCRIPTS) $(PROGS) + cd $(LIBDIR) && rm $(LIBS) cd $(MAN1DIR) && rm ${MANPAGES1} rm -rf $(DATADIR) rm -f $(LOGROT)/rpmorphan @@ -146,9 +151,9 @@ man : $(MANPAGES1) # build tar.gz package -dist : $(DOC) man $(SCRIPTS) expand +dist : $(DOC) man $(code) expand mkdir $(PACKAGE)-$(VERSION) - cp -a ${CONF} $(DATA) locale $(DOC) $(MANPAGES1) $(SCRIPTS) $(PACKAGE)-$(VERSION) + cp -a ${CONF} $(DATA) locale $(DOC) $(MANPAGES1) $(CODE) $(PACKAGE)-$(VERSION) tar cvfz $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) rm -rf $(PACKAGE)-$(VERSION) ~/bin/gensign.sh $(PACKAGE)-$(VERSION).tar.gz diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/Readme new/rpmorphan-1.12/Readme --- old/rpmorphan-1.11/Readme 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/Readme 2013-02-01 13:31:43.000000000 +0100 @@ -21,7 +21,7 @@ If you want to use a graphical interface, you will need to install extra rpm packages : perl-Tk or perl-Curses-UI. -For Fedora users : +For Fedora/Redhat users : [2] Note that orphan is used in the sense of Debian's deborphan, and is NOT the same as Fedora orphaned packages which are packages that have no current maintainer. @@ -32,7 +32,7 @@ [4] rpmorphan can be speed up by installing the perl-RPM2 rpm package -For Mandriva users : +For Mandriva/Mageia users : [5] the 'urpme --auto-orphans' command show quickly a a list of unused library packages. @@ -42,4 +42,4 @@ -- Eric Gerbier -$Id: rpmorphan-1.11 | Readme | Mon Mar 21 12:08:17 2011 +0000 | gerbier $ +$Id: rpmorphan-1.12 | Readme | Tue Jan 29 13:20:11 2013 +0100 | Eric Gerbier $ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/Readme.fr new/rpmorphan-1.12/Readme.fr --- old/rpmorphan-1.11/Readme.fr 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/Readme.fr 2013-02-01 13:31:43.000000000 +0100 @@ -19,7 +19,7 @@ ligne de commande. Si vous voulez profiter d'une interface graphique, vous devez installer des packages rpm suplementaires : perl-Tk ou perl-Curses-UI -Pour les utilisateurs de Fedora : +Pour les utilisateurs de Fedora/RedHat : [2] la notion d'orphelin est à prendre au sens du logiciel debian deborphan, et non pas au sens général de Fedora (packages sans mainteneur). @@ -28,7 +28,7 @@ [4] rpmorphan peut être accéléré en installant le package rpm perl-RPM2 -Pour les utilisateurs de Mandriva +Pour les utilisateurs de Mandriva/Mageia [5] la commande 'urpme --auto-orphans' permet d'afficher rapidement les librairies inutilisées. demarrage rapide @@ -37,4 +37,4 @@ -- Eric Gerbier -$Id: rpmorphan-1.11 | Readme.fr | Mon Mar 21 12:08:17 2011 +0000 | gerbier $ +$Id: rpmorphan-1.12 | Readme.fr | Tue Jan 29 13:20:11 2013 +0100 | Eric Gerbier $ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/Todo new/rpmorphan-1.12/Todo --- old/rpmorphan-1.11/Todo 2012-08-01 20:27:01.000000000 +0200 +++ new/rpmorphan-1.12/Todo 2013-02-01 13:30:29.000000000 +0100 @@ -3,7 +3,3 @@ - search tool - add command line options as menus ? - clean display when delete rpm ? - -require/recommends/suggest (suse) ? - -translate gui menu ? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmdep.1 new/rpmorphan-1.12/rpmdep.1 --- old/rpmorphan-1.11/rpmdep.1 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmdep.1 2013-02-01 13:31:43.000000000 +0100 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RPMDEP 1" -.TH RPMDEP 1 "2012-08-01" "perl v5.14.2" "User Contributed Perl Documentation" +.TH RPMDEP 1 "2013-02-01" "perl v5.14.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmdep.pl new/rpmorphan-1.12/rpmdep.pl --- old/rpmorphan-1.11/rpmdep.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmdep.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmdep.pl | Mon Jul 4 12:46:50 2011 +0000 | gerbier $ +# $Id: rpmorphan-1.12 | rpmdep.pl | Mon Jan 21 14:13:16 2013 +0100 | Eric Gerbier $ # # 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 @@ -26,13 +26,15 @@ use Getopt::Long; # arg analysis use Pod::Usage; # man page -use Data::Dumper; # debug # library -use File::Basename; -my $dirname = dirname($PROGRAM_NAME); -require $dirname . '/rpmorphan-lib.pl' +## no critic (ProhibitNoisyQuotes) +use lib '.'; +use lib '/usr/lib/rpmorphan/'; +## no critic (RequireBarewordIncludes) +require 'rpmorphan-lib.pl' or die "problem to load rpmorphan-lib: $ERRNO\n"; +## use critic # the code should use no "print" calls # but instead debug, warning, info calls @@ -47,6 +49,7 @@ sub norm($) { my $name = shift @_; + ## no critic (ProhibitEscapedMetacharacters) my $norm_name = $name; $norm_name =~ s/-/_/g; $norm_name =~ s/\./_/g; @@ -219,7 +222,7 @@ if ($opt_dot) { # open output file - ## no critic (RequireBriefOpen) + # no critic (RequireBriefOpen) if ( open $fh_dot, '>', $opt_dot ) { print {$fh_dot} "digraph \"rpmdep\" {\n"; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmduplicates.1 new/rpmorphan-1.12/rpmduplicates.1 --- old/rpmorphan-1.11/rpmduplicates.1 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmduplicates.1 2013-02-01 13:31:43.000000000 +0100 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RPMDUPLICATES 1" -.TH RPMDUPLICATES 1 "2012-08-01" "perl v5.14.2" "User Contributed Perl Documentation" +.TH RPMDUPLICATES 1 "2013-02-01" "perl v5.14.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmduplicates.pl new/rpmorphan-1.12/rpmduplicates.pl --- old/rpmorphan-1.11/rpmduplicates.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmduplicates.pl 2013-02-01 13:31:43.000000000 +0100 @@ -3,7 +3,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmduplicates.pl | Mon Jul 4 12:47:55 2011 +0000 | gerbier $ +# $Id: rpmorphan-1.12 | rpmduplicates.pl | Mon Jan 21 13:46:18 2013 +0100 | Eric Gerbier $ # # 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 @@ -25,17 +25,17 @@ use Getopt::Long; # arg analysis use Pod::Usage; # man page -use Data::Dumper; # debug # library -use File::Basename; -my $dirname = dirname($PROGRAM_NAME); - -# not very usefull, but warning, debug ... -require $dirname . '/rpmorphan-lib.pl' +## no critic (ProhibitNoisyQuotes) +use lib '.'; +use lib '/usr/lib/rpmorphan/'; +## no critic (RequireBarewordIncludes) +require 'rpmorphan-lib.pl' or die "problem to load rpmorphan-lib: $ERRNO\n"; +## use critic -my $VERSION = '0.2'; +my $VERSION = '0.3'; my $opt_help; my $opt_man; @@ -70,7 +70,7 @@ # by the common code ## no critic (RequireInterpolationOfMetachars) my $cmd = - 'rpm -qa --queryformat "%{NAME} %{VERSION}-%{RELEASE} %{BUILDTIME}\n" '; +'rpm -qa --queryformat "%{NAME} %{VERSION}-%{RELEASE} %{ARCH} %{BUILDTIME}\n" '; ## use critic my $fh; @@ -82,56 +82,74 @@ my %h_ver; # versions my %h_buildtime; # buildtime +my %h_arch; # buildtime -my $nb = 0; -my $SPACE = q{ }; +my $nb_dup = 0; +my $nb_arch = 0; +my $SPACE = q{ }; while ( my $line = <$fh> ) { chomp $line; - my ( $soft, $version, $build ) = split $SPACE, $line; + my ( $soft, $version, $arch, $build ) = split $SPACE, $line; next if ( $soft eq 'gpg-pubkey' ); if ( exists $h_ver{$soft} ) { - # we already have found a package with same name - my $old_ver = $h_ver{$soft}; - my $old_date = $h_buildtime{$soft}; - - my $old; - if ( $old_date < $build ) { - - # current package was build after the stored one - # keep the latest - $h_buildtime{$soft} = $build; + if ( $h_ver{$soft} eq $version ) { - # delete the older - $old = $old_ver; + # same name, same version : + # arch should be different + print "info : found $soft $version on $arch and $h_arch{$soft}\n"; + $nb_arch++; } else { - # current package was build before the stored one - # delete the older - $old = $version; + # we already have found a package with same name + my $old_ver = $h_ver{$soft}; + my $old_date = $h_buildtime{$soft}; + + my $old; + if ( $old_date < $build ) { + + # current package was build after the old stored one + # keep the latest + $h_buildtime{$soft} = $build; + + # delete the older + $old = $old_ver; + } + else { + + # current package was build before the stored one + # delete the older (current) + $old = $version; + } + $old_date = localtime $old_date; + $build = localtime $build; + print + "duplicate $soft : $old_ver ($old_date) / $version ($build)\n"; + print "suggest : rpm -e $soft-$old\n"; + $nb_dup++; } - $old_date = localtime $old_date; - $build = localtime $build; - print "duplicate $soft : $old_ver ($old_date) / $version ($build)\n"; - print "suggest : rpm -e $soft-$old\n"; - $nb++; } else { $h_ver{$soft} = $version; $h_buildtime{$soft} = $build; + $h_arch{$soft} = $arch; } } close $fh or warning("can not close $cmd : $ERRNO"); -if ( $nb == 0 ) { +if ( $nb_dup == 0 ) { print "no duplicate found !\n"; } +else { + print "$nb_dup rpm duplicate\n"; + print "$nb_arch arch duplicate\n"; +} -exit $nb; +exit $nb_dup; __END__ =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmextra.1 new/rpmorphan-1.12/rpmextra.1 --- old/rpmorphan-1.11/rpmextra.1 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmextra.1 2013-02-01 13:31:43.000000000 +0100 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RPMEXTRA 1" -.TH RPMEXTRA 1 "2012-08-01" "perl v5.14.2" "User Contributed Perl Documentation" +.TH RPMEXTRA 1 "2013-02-01" "perl v5.14.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmextra.pl new/rpmorphan-1.12/rpmextra.pl --- old/rpmorphan-1.11/rpmextra.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmextra.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmextra.pl | Mon Jul 4 12:49:43 2011 +0000 | gerbier $ +# $Id: rpmorphan-1.12 | rpmextra.pl | Mon Jan 21 14:21:55 2013 +0100 | Eric Gerbier $ # # 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 @@ -27,13 +27,15 @@ use Getopt::Long; # arg analysis use Pod::Usage; # man page -use Data::Dumper; # debug # library -use File::Basename; -my $dirname = dirname($PROGRAM_NAME); -require $dirname . '/rpmorphan-lib.pl' +## no critic (ProhibitNoisyQuotes) +use lib '.'; +use lib '/usr/lib/rpmorphan/'; +## no critic (RequireBarewordIncludes) +require 'rpmorphan-lib.pl' or die "problem to load rpmorphan-lib: $ERRNO\n"; +## use critic # the code should use no "print" calls # but instead debug, warning, info calls @@ -135,6 +137,7 @@ print "problem line $line\n"; } else { + ## no critic (ProhibitEscapedMetacharacters) $name =~ s/\..*//; # remove arch $name .= $version; # add version $hash{$name} = 1; @@ -206,6 +209,7 @@ # output look like : # i | openSUSE-11.4 OSS | ConsoleKit | 0.4.3-6.1 | i586 # | openSUSE-11.4 OSS | ConsoleKit-devel | 0.4.3-6.1 | i586 + my $delim = q{|}; # get list of all available packages debug('get list of packages in repository'); @@ -214,11 +218,12 @@ if ( open my $fh, "$cmd |" ) { while ( my $line = <$fh> ) { chomp $line; - next unless ( $line =~ m/\|/ ); # skip first lines - $line =~ s/\s+//g; # remove spaces + next unless ( $line =~ m/$delim/ ); # skip first lines + $line =~ s/\s+//g; # remove spaces - my @tab = split /\|/, $line; - ## no critic(ProhibitMagicNumbers) + my @tab = split /$delim/, $line; + + # no critic(ProhibitMagicNumbers) my $pac = $tab[2] . q{-} . $tab[3] . q{.} . $tab[4]; $available{$pac} = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan-curses-lib.pl new/rpmorphan-1.12/rpmorphan-curses-lib.pl --- old/rpmorphan-1.11/rpmorphan-curses-lib.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan-curses-lib.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmorphan-curses-lib.pl | Wed Jul 6 13:59:20 2011 +0000 | gerbier $ +# $Id: rpmorphan-1.12 | rpmorphan-curses-lib.pl | Wed Jul 6 13:59:20 2011 +0000 | gerbier $ # # 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan-lib.pl new/rpmorphan-1.12/rpmorphan-lib.pl --- old/rpmorphan-1.11/rpmorphan-lib.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan-lib.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmorphan-lib.pl | Wed Aug 1 09:36:43 2012 +0200 | Eric Gerbier $ +# $Id: rpmorphan-1.12 | rpmorphan-lib.pl | Mon Jan 21 13:36:47 2013 +0100 | Eric Gerbier $ # # 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 @@ -22,7 +22,6 @@ use English '-no_match_vars'; -use Data::Dumper; # debug use File::stat; # get_last_access ## no critic (RequireCheckingReturnValueOfEval) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan-tk-lib.pl new/rpmorphan-1.12/rpmorphan-tk-lib.pl --- old/rpmorphan-1.11/rpmorphan-tk-lib.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan-tk-lib.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmorphan-tk-lib.pl | Wed Jul 6 14:15:24 2011 +0000 | gerbier $ +# $Id: rpmorphan-1.12 | rpmorphan-tk-lib.pl | Wed Jul 6 14:15:24 2011 +0000 | gerbier $ # # 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan.1 new/rpmorphan-1.12/rpmorphan.1 --- old/rpmorphan-1.11/rpmorphan.1 2012-08-01 20:47:46.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan.1 2013-02-01 13:31:42.000000000 +0100 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RPMORPHAN 1" -.TH RPMORPHAN 1 "2012-08-01" "perl v5.14.2" "User Contributed Perl Documentation" +.TH RPMORPHAN 1 "2013-02-01" "perl v5.14.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan.lsm new/rpmorphan-1.12/rpmorphan.lsm --- old/rpmorphan-1.11/rpmorphan.lsm 2012-08-01 20:27:01.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan.lsm 2013-02-01 13:30:29.000000000 +0100 @@ -1,7 +1,7 @@ Begin4 Title: rpmorphan -Version: 1.11 -Entered-date: 2012-08-03 +Version: 1.12 +Entered-date: 2013-02-01 Description: rpmorphan finds "orphaned" packages on your system. It determines which packages have no other packages depending on their installation, and shows you a list of these packages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan.pl new/rpmorphan-1.12/rpmorphan.pl --- old/rpmorphan-1.11/rpmorphan.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmorphan.pl | Wed Aug 1 20:47:14 2012 +0200 | Eric Gerbier $ +# $Id: rpmorphan-1.12 | rpmorphan.pl | Fri Feb 1 13:26:15 2013 +0100 | Eric Gerbier $ # # 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 @@ -25,13 +25,14 @@ use Getopt::Long; # arg analysis use Pod::Usage; # man page use POSIX qw(strftime); -use Data::Dumper; # debug +use File::Basename; # library -use File::Basename; -my $dirname = dirname($PROGRAM_NAME); -my $basename = basename($PROGRAM_NAME); -require $dirname . '/rpmorphan-lib.pl' +## no critic (ProhibitNoisyQuotes) +use lib '.'; +use lib '/usr/lib/rpmorphan/'; +## no critic (RequireBarewordIncludes) +require 'rpmorphan-lib.pl' or die "problem to load rpmorphan-lib: $ERRNO\n"; # translations @@ -46,7 +47,8 @@ else { $locale_dir = 'locale/en/rpmorphan_trans.pl'; } -## no critic(RequireCheckingReturnValueOfEval) + +# no critic(RequireCheckingReturnValueOfEval) eval { require $locale_dir; }; if ($EVAL_ERROR) { warning("can not load translation file $locale_dir"); @@ -56,8 +58,9 @@ ############################################################################### # global variables ############################################################################### -## no critic(Capitalization) +# no critic(Capitalization) ## no critic(ProhibitPackageVars) +# no critic(ProhibitMixedCaseVars) # translations use vars qw( %TRANS ); @@ -92,20 +95,20 @@ # list of filtered packages use vars qw( @Liste_pac ); ## use critic -## no critic(RequireCheckingReturnValueOfEval) +# no critic(RequireCheckingReturnValueOfEval) # the code should use no "print" calls # but instead debug, warning, info calls ########################################################## # for debuging # dump internal structures -sub dump_struct() { - print Dumper( 'depends', \%Depends ); - print Dumper( 'virtuals', \%Virtual ); - - display_status('dump done'); - return; -} +#sub dump_struct() { +# print Dumper( 'depends', \%Depends ); +# print Dumper( 'virtuals', \%Virtual ); +# +# display_status('dump done'); +# return; +#} ######################################################### { @@ -314,7 +317,8 @@ my @depends = `$cmd $name 2>&1`; ## use critic; my $ret; - ## no critic (ProhibitMagicNumbers) + + # no critic (ProhibitMagicNumbers) if ( $#depends == -1 ) { # empty output : ok @@ -339,7 +343,8 @@ $rh_opt->{'package'} = \@opt_package; if ( !is_set( $rh_opt, 'fullalgo' ) ) { - ## no critic (ProhibitMagicNumbers) + + # no critic (ProhibitMagicNumbers) my $max_packages = 5; if ( $#opt_package <= $max_packages ) { @@ -432,7 +437,8 @@ # rpm -q return 0 is package exists, 1 if not system "rpm -q $pac >/dev/null 2>/dev/null"; - ## no critic (ProhibitMagicNumbers) + + # no critic (ProhibitMagicNumbers) # cf perldoc -f system my $code = $CHILD_ERROR >> 8; @@ -709,7 +715,8 @@ import Tk::ROText; # should be ok - require $dirname . '/rpmorphan-tk-lib.pl' + ## no critic (RequireBarewordIncludes) + require 'rpmorphan-tk-lib.pl' or die "problem to load rpmorphan-tk-lib: $ERRNO\n"; build_tk_gui(); return 'tk'; @@ -731,7 +738,8 @@ import Curses::UI; # should be ok - require $dirname . '/rpmorphan-curses-lib.pl' + ## no critic (RequireBarewordIncludes) + require 'rpmorphan-curses-lib.pl' or die "problem to load rpmorphan-curses-lib: $ERRNO\n"; build_curses_gui(); return 'curses'; @@ -753,7 +761,7 @@ # version ######################################################### { - my $version = '1.10'; + my $version = '1.12'; sub get_version() { return $version; @@ -840,7 +848,7 @@ ); # call from this name force gui -if ( $basename =~ m/grpmorphan/ ) { +if ( basename($PROGRAM_NAME) =~ m/grpmorphan/ ) { $opt_gui = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphan.spec new/rpmorphan-1.12/rpmorphan.spec --- old/rpmorphan-1.11/rpmorphan.spec 2012-08-01 20:27:01.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphan.spec 2013-02-01 13:30:29.000000000 +0100 @@ -1,7 +1,7 @@ %global _binary_filedigest_algorithm 1 %global _source_filedigest_algorithm 1 -%define VERSION 1.11 +%define VERSION 1.12 Summary: List packages that have no dependencies (like deborphan) # The Summary: line should be expanded to about here -----^ Summary(fr): Liste les packages rpm orphelins (sans dependances) @@ -60,8 +60,8 @@ If you want to use a graphical interface, you will need to install extra rpm packages : perl-Tk or perl-Curses-UI. -For Fedora users : ------------------- +For Fedora/RedHat users : +------------------------- [2] Note that orphan is used in the sense of Debian's deborphan, and is NOT the same as Fedora orphaned packages which are packages that have no current maintainer. @@ -73,8 +73,8 @@ [4] rpmorphan can be speed up by installing the perl-RPM2 rpm package -For Mandriva users : --------------------- +For Mandriva/Mageia users : +--------------------------- [5] the 'urpme --auto-orphans' command show quickly a a list of unused library packages. Rpmorphan is an extended version with filters, gui, etc ... @@ -101,8 +101,8 @@ ligne de commande. Si vous voulez profiter d'une interface graphique, vous devez installer des packages rpm suplementaires : perl-Tk ou perl-Curses-UI -Pour les utilisateurs de Fedora : ---------------------------------- +Pour les utilisateurs de Fedora/RedHat : +---------------------------------------- [2] la notion d'orphelin est à prendre au sens du logiciel debian deborphan, et non pas au sens général de Fedora (packages sans mainteneur). @@ -112,8 +112,8 @@ [4] rpmorphan peut être accéléré en installant le package rpm perl-RPM2 -Pour les utilisateurs de Mandriva ---------------------------------- +Pour les utilisateurs de Mandriva/Mageia +---------------------------------------- [5] la commande 'urpme --auto-orphans' permet d'afficher rapidement les librairies inutilisées. Rpmorphan est une version étendue, avec notamment les filtres, l'interface graphique. @@ -136,31 +136,31 @@ %files %defattr(-,root,root,-) %doc rpmorphan.lsm Authors COPYING Changelog NEWS Todo Readme Readme.fr rpmorphanrc.sample -%{_bindir}/rpmorphan-lib.pl -%{_bindir}/rpmorphan-curses-lib.pl -%{_bindir}/rpmorphan-tk-lib.pl -%{_bindir}/rpmorphan.pl -%{_bindir}/rpmorphan -%{_bindir}/grpmorphan -%{_bindir}/rpmusage.pl -%{_bindir}/rpmusage -%{_bindir}/rpmdep.pl -%{_bindir}/rpmdep -%{_bindir}/rpmduplicates.pl -%{_bindir}/rpmduplicates -%{_bindir}/rpmextra.pl -%{_bindir}/rpmextra +%attr(755, root, root) %{_bindir}/rpmorphan.pl +%attr(755, root, root) %{_bindir}/rpmorphan +%attr(755, root, root) %{_bindir}/grpmorphan +%attr(755, root, root) %{_bindir}/rpmusage.pl +%attr(755, root, root) %{_bindir}/rpmusage +%attr(755, root, root) %{_bindir}/rpmdep.pl +%attr(755, root, root) %{_bindir}/rpmdep +%attr(755, root, root) %{_bindir}/rpmduplicates.pl +%attr(755, root, root) %{_bindir}/rpmduplicates +%attr(755, root, root) %{_bindir}/rpmextra.pl +%attr(755, root, root) %{_bindir}/rpmextra %ghost /var/log/rpmorphan.log -%dir /var/lib/rpmorphan -%config(noreplace) %attr(644, root, root) /var/lib/rpmorphan/keep +%dir %{_localstatedir}/lib/rpmorphan +%config(noreplace) %attr(644, root, root) %{_localstatedir}/lib/rpmorphan/keep %dir /usr/lib/rpmorphan +%attr(644, root, root) /usr/lib/rpmorphan/rpmorphan-lib.pl +%attr(644, root, root) /usr/lib/rpmorphan/rpmorphan-curses-lib.pl +%attr(644, root, root) /usr/lib/rpmorphan/rpmorphan-tk-lib.pl %dir /usr/lib/rpmorphan/locale %dir /usr/lib/rpmorphan/locale/en %attr(644, root, root) /usr/lib/rpmorphan/locale/en/rpmorphan_trans.pl %dir /usr/lib/rpmorphan/locale/fr_FR %attr(644, root, root) /usr/lib/rpmorphan/locale/fr_FR/rpmorphan_trans.pl -%config(noreplace) /etc/logrotate.d/rpmorphan -%config(noreplace) /etc/rpmorphanrc +%config(noreplace) %{_sysconfdir}/logrotate.d/rpmorphan +%config(noreplace) %{_sysconfdir}/rpmorphanrc %doc %{_mandir}/man1/rpmorphan.1* %doc %{_mandir}/man1/rpmusage.1* %doc %{_mandir}/man1/rpmdep.1* @@ -168,6 +168,12 @@ %doc %{_mandir}/man1/rpmextra.1* %changelog +* Mon Jan 28 2013 Eric Gerbier <[email protected]> 1.12 +- libs does not need to be executable +- move libs to /usr/lib/rpmorphan +- remove Data::Dumper dependency +- (rpmduplicates) take care of arch + * Thu Aug 03 2012 Eric Gerbier <[email protected]> 1.11 - add suggests option - add /etc/rpmorphanrc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmorphanrc.sample new/rpmorphan-1.12/rpmorphanrc.sample --- old/rpmorphan-1.11/rpmorphanrc.sample 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmorphanrc.sample 2013-02-01 13:31:43.000000000 +0100 @@ -1,5 +1,5 @@ # configuration file exemple for rpmorphan -# $Id: rpmorphan-1.11 | rpmorphanrc.sample | Tue Jul 31 17:13:56 2012 +0200 | Eric Gerbier $ +# $Id: rpmorphan-1.12 | rpmorphanrc.sample | Tue Jul 31 17:13:56 2012 +0200 | Eric Gerbier $ # it can be used as # - host (general) configuration file as /etc/rpmorphanrc # - home (user) configuration file as ~/.rpmorphanrc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmusage.1 new/rpmorphan-1.12/rpmusage.1 --- old/rpmorphan-1.11/rpmusage.1 2012-08-01 20:47:46.000000000 +0200 +++ new/rpmorphan-1.12/rpmusage.1 2013-02-01 13:31:42.000000000 +0100 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RPMUSAGE 1" -.TH RPMUSAGE 1 "2012-08-01" "perl v5.14.2" "User Contributed Perl Documentation" +.TH RPMUSAGE 1 "2013-02-01" "perl v5.14.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -232,7 +232,7 @@ For example lilo or grub are orphaned packages, but are necessary to boot ... .Sp -the \-install\-time and \-access\-time options may be useful to filter the list +the \*(L"\-install\-time\*(R" and \*(L"\-access\-time\*(R" options may be useful to filter the list .IP "\fB\-guess\-perl\fR" 8 .IX Item "-guess-perl" This option tries to find perl modules. It tries to match \*(L"^perl\*(R" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmorphan-1.11/rpmusage.pl new/rpmorphan-1.12/rpmusage.pl --- old/rpmorphan-1.11/rpmusage.pl 2012-08-01 20:47:47.000000000 +0200 +++ new/rpmorphan-1.12/rpmusage.pl 2013-02-01 13:31:43.000000000 +0100 @@ -4,7 +4,7 @@ # # Copyright (C) 2006 by Eric Gerbier # Bug reports to: [email protected] -# $Id: rpmorphan-1.11 | rpmusage.pl | Tue Jul 5 11:28:04 2011 +0000 | gerbier $ +# $Id: rpmorphan-1.12 | rpmusage.pl | Mon Jan 21 14:10:42 2013 +0100 | Eric Gerbier $ # # 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 @@ -24,13 +24,15 @@ use Getopt::Long; # arg analysis use Pod::Usage; # man page -use Data::Dumper; # debug # library -use File::Basename; -my $dirname = dirname($PROGRAM_NAME); -require $dirname . '/rpmorphan-lib.pl' +## no critic (ProhibitNoisyQuotes) +use lib '.'; +use lib '/usr/lib/rpmorphan/'; +## no critic (RequireBarewordIncludes) +require 'rpmorphan-lib.pl' or die "problem to load rpmorphan-lib: $ERRNO\n"; +## use critic # the code should use no "print" calls # but instead debug, warning, info calls @@ -103,7 +105,8 @@ $rh_opt->{'package'} = \@opt_package; if ( !is_set( $rh_opt, 'fullalgo' ) ) { - ## no critic (ProhibitMagicNumbers) + + # no critic (ProhibitMagicNumbers) my $max_packages = 5; if ( $#opt_package <= $max_packages ) { @@ -406,7 +409,7 @@ For example lilo or grub are orphaned packages, but are necessary to boot ... -the L<-install-time> and L<-access-time> options may be useful to filter the list +the L</-install-time> and L</-access-time> options may be useful to filter the list =item B<-guess-perl> -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
