pax_global_header00006660000000000000000000000064111035734310014510gustar00rootroot0000000000000052 comment=2416db4320cf49b6adfa9e56206823c1515fee22 rpmbuild-helper-0.01/000075500000000000000000000000001110357343100145215ustar00rootroot00000000000000rpmbuild-helper-0.01/.gear/000075500000000000000000000000001110357343100155155ustar00rootroot00000000000000rpmbuild-helper-0.01/.gear/rules000064400000000000000000000000071110357343100165670ustar00rootroot00000000000000tar: . rpmbuild-helper-0.01/rpmbuild-helper000075500000000000000000000001631110357343100175420ustar00rootroot00000000000000#!/bin/sh for i in /usr/bin/rpmbuild-helper-*; do if [ -x $i ]; then echo launching `basename $i` $i fi done rpmbuild-helper-0.01/rpmbuild-helper-desktop000075500000000000000000000043751110357343100212220ustar00rootroot00000000000000#!/usr/bin/perl -w die '$RPM_BUILD_ROOT is not set!' unless $ENV{'RPM_BUILD_ROOT'}; `mkdir -p $ENV{'RPM_BUILD_ROOT'}/usr/share/applications`; foreach $desktopfile (glob $ENV{'RPM_BUILD_ROOT'}.'/usr/share/gnome/apps/*.desktop') { system ('mv', $desktopfile, "$ENV{'RPM_BUILD_ROOT'}/usr/share/applications") and die $!; } foreach $desktopfile (glob ($ENV{'RPM_BUILD_ROOT'}.'/usr/share/applications/*.desktop'), glob ($ENV{'RPM_BUILD_ROOT'}.'/usr/share/applications/*/*.desktop')) { open DF, $desktopfile or die $!; my @olddesktop=; close DF or die $!; my $desktop_entry=0; open DF, '>', $desktopfile or die $!; foreach (@olddesktop) { chomp; my $oldline=$_; if ($desktop_entry) { # warning: key "Encoding" in group "Desktop Entry" is deprecated; if (/^Encoding/) { &log ("removed $_"); next; } # warning: boolean key "Terminal" in group "Desktop Entry" has value "0", # which is deprecated: boolean values should be "false" or "true"; s/^Terminal=0/Terminal=false/; s/^Terminal=1/Terminal=true/; # warning: key "Categories" in group "Desktop Entry" contains a deprecated value "Application"; if (m/^Categories=/ and not m/^Categories=Application;\s*$/) { s/Application;//; # error: value "..." for string list key "Categories" in group "Desktop Entry" does not have a semicolon (';') as trailing character; s/(\S+)/$1;/ unless m/;\s*$/; } # warning: key "DocPath" in group "Desktop Entry" is a reserved key for KDE; s/^DocPath=/X-DocPath=/; # error: value "__.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path; if (m/^Icon=[^\S]/) { s/.png(\s*)$/$1/; s/.xpm(\s*)$/$1/; s/.jpg(\s*)$/$1/; s/.jpeg(\s*)$/$1/; } if (m/^MimeType=/) { # error: value "..." for string list key "MimeType" in group "Desktop Entry" does not have a semicolon (';') as trailing character; s/(\S+)/$1;/ unless m/;\s*$/; } } $desktop_entry =1 if /^\[Desktop Entry\]/; print DF $_,"\n"; &log ("changed $oldline to $_") if ($_ ne $oldline); } close DF or die $!; } sub log { print STDERR "rpmbuild-helper-desktop: @_\n"; } rpmbuild-helper-0.01/rpmbuild-helper.spec000064400000000000000000000051471110357343100204770ustar00rootroot00000000000000Name: rpmbuild-helper Version: 0.01 Release: alt1 BuildArch: noarch Packager: Igor Yu. Vlasenko Summary: A set of helper utilities that automate routine packaging tasks. Group: Development/Tools License: GPL or Artistic #Url: Source: %name-%version.tar #BuildRequires: perl-RPM-Source-Editor #Requires: perl-RPM perl-DBD-SQLite sqlite3 %description A set of helper utilities that automate routine packaging tasks. %package desktop Group: Development/Tools Summary: tool for auto repairing .desktop files in rpm packages Requires: %name = %version-%release %description desktop A tool for auto repairing .desktop files in rpm packages. A part of rpmbuild-helper utilities. %package iconsdir Group: Development/Tools Summary: tool for auto creating missing pixmaps in rpm packages Requires: %name = %version-%release Requires: ImageMagick %description iconsdir A tool for auto creating missing pixmaps in rpm packages. A part of rpmbuild-helper utilities. %prep %setup %build #perl_vendor_build cat > ./rpmbuild-helper-iconsdir <<'EOF' #!/usr/bin/perl -w use File::Basename; use strict; die '$RPM_BUILD_ROOT is not set!' unless $ENV{'RPM_BUILD_ROOT'}; `mkdir -p $ENV{'RPM_BUILD_ROOT'}%_miconsdir`; `mkdir -p $ENV{'RPM_BUILD_ROOT'}%_niconsdir`; `mkdir -p $ENV{'RPM_BUILD_ROOT'}%_liconsdir`; my $outfile; sub convert_to { my ($infile, $outfile, $geometry) =@_; unless (-e $outfile) { print STDERR "rpmbuild-helper-iconsdir: converted ".&basename($infile)." to $geometry\n"; system ("convert $infile -resize $geometry $outfile") and die $!; } } foreach my $pixmapfile (glob $ENV{'RPM_BUILD_ROOT'}.'%_liconsdir/*.*') { my $filename=basename($pixmapfile); &convert_to($pixmapfile, $ENV{'RPM_BUILD_ROOT'}.'%_niconsdir/'.$filename, 32); &convert_to($pixmapfile, $ENV{'RPM_BUILD_ROOT'}.'%_miconsdir/'.$filename, 16); } foreach my $pixmapfile (glob $ENV{'RPM_BUILD_ROOT'}.'/usr/share/pixmaps/*.*') { my $filename=basename($pixmapfile); &convert_to($pixmapfile, $ENV{'RPM_BUILD_ROOT'}.'%_liconsdir/'.$filename, 48); &convert_to($pixmapfile, $ENV{'RPM_BUILD_ROOT'}.'%_niconsdir/'.$filename, 32); &convert_to($pixmapfile, $ENV{'RPM_BUILD_ROOT'}.'%_miconsdir/'.$filename, 16); } EOF %install #perl_vendor_install mkdir -p $RPM_BUILD_ROOT%_bindir install -m 755 rpmbuild-helper rpmbuild-helper-* $RPM_BUILD_ROOT%_bindir/ %files %_bindir/rpmbuild-helper #%_man1dir/repocop-* #%perl_vendor_privlib/T* #%perl_vendor_man3dir/* %files desktop %_bindir/rpmbuild-helper-desktop %files iconsdir %_bindir/rpmbuild-helper-iconsdir %changelog * Mon Nov 03 2008 Igor Vlasenko 0.01-alt1 - first build rpmbuild-helper-0.01/testdata/000075500000000000000000000000001110357343100163325ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/000075500000000000000000000000001110357343100171435ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/share/000075500000000000000000000000001110357343100202455ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/share/applications/000075500000000000000000000000001110357343100227335ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/share/applications/kde/000075500000000000000000000000001110357343100234765ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/share/applications/kde/test2.desktop000064400000000000000000000000701110357343100261270ustar00rootroot00000000000000[Desktop Entry] DocPath=/boo Icon=boo.png Categories=KDErpmbuild-helper-0.01/testdata/usr/share/gnome/000075500000000000000000000000001110357343100213525ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/share/gnome/apps/000075500000000000000000000000001110357343100223155ustar00rootroot00000000000000rpmbuild-helper-0.01/testdata/usr/share/gnome/apps/test1.desktop000064400000000000000000000001111110357343100247410ustar00rootroot00000000000000[Desktop Entry] Encoding=UTF-8 Categories=GNOME;Application; Terminal=0