[perl-PAR-Packer] 1.011 bump
Petr Pisar
ppisar at fedoraproject.org
Mon Dec 5 16:00:47 UTC 2011
commit 46ded8a3a9246211cc7db2a597486adb7a9384a1
Author: Petr Písař <ppisar at redhat.com>
Date: Mon Dec 5 16:38:08 2011 +0100
1.011 bump
And sub-package Tk application.
.gitignore | 1 +
extract_icon | 28 ++++++++++++++++++++++
perl-PAR-Packer.spec | 64 ++++++++++++++++++++++++++++++++++++++++++++-----
sources | 2 +-
tkpp.desktop | 9 +++++++
5 files changed, 96 insertions(+), 8 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 995ab78..cf0c693 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ PAR-Packer-1.005.tar.gz
/PAR-Packer-1.008.tar.gz
/PAR-Packer-1.009.tar.gz
/PAR-Packer-1.010.tar.gz
+/PAR-Packer-1.011.tar.gz
diff --git a/extract_icon b/extract_icon
new file mode 100755
index 0000000..13fa515
--- /dev/null
+++ b/extract_icon
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+
+# Copyright 2011 Petr Písař <ppisar at redhat.com>.
+# This tool is licensed under the terms of GNU GPL version 3 or any later.
+
+use strict;
+use warnings;
+
+my $gif;
+
+while (<>) {
+ chomp;
+ if (/\A[^#]*my\s+\$icon_gif\s+=/) {
+ $gif = '';
+ next;
+ }
+ if (defined $gif && /\A\./) {
+ last;
+ }
+ if (defined $gif) {
+ $gif .= $_;
+ }
+}
+
+if (! defined $gif) { exit 1; }
+
+use MIME::Base64;
+print decode_base64($gif);
diff --git a/perl-PAR-Packer.spec b/perl-PAR-Packer.spec
index a3299c1..2071588 100644
--- a/perl-PAR-Packer.spec
+++ b/perl-PAR-Packer.spec
@@ -1,11 +1,13 @@
Name: perl-PAR-Packer
-Version: 1.010
-Release: 2%{?dist}
+Version: 1.011
+Release: 1%{?dist}
Summary: PAR Packager
License: GPL+ or Artistic
Group: Development/Libraries
URL: http://search.cpan.org/dist/PAR-Packer/
Source0: http://www.cpan.org/authors/id/R/RS/RSCHUPP/PAR-Packer-%{version}.tar.gz
+Source1: extract_icon
+Source2: tkpp.desktop
BuildRequires: perl(Archive::Zip) >= 1
BuildRequires: perl(Compress::Zlib) >= 1.3
BuildRequires: perl(ExtUtils::MakeMaker)
@@ -13,18 +15,44 @@ BuildRequires: perl(ExtUtils::Embed)
BuildRequires: perl(File::Temp) >= 0.05
BuildRequires: perl(Getopt::ArgvFile) >= 1.07
BuildRequires: perl(IO::Compress::Gzip)
-BuildRequires: perl(Module::ScanDeps) >= 1.01
-BuildRequires: perl(PAR) >= 1.000
+BuildRequires: perl(Module::ScanDeps) >= 1.05
+BuildRequires: perl(PAR) >= 1.004
BuildRequires: perl(PAR::Dist) >= 0.22
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+Requires: perl(Archive::Zip) >= 1
+Requires: perl(Compress::Zlib) >= 1.3
+Requires: perl(File::Temp) >= 0.05
+Requires: perl(Getopt::ArgvFile) >= 1.07
+Requires: perl(IO::Compress::Gzip)
+Requires: perl(Module::ScanDeps) >= 1.05
+Requires: perl(PAR) >= 1.004
+Requires: perl(PAR::Dist) >= 0.22
+
+# Remove under-specified dependencies
+%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Archive::Zip|File::Temp|Getopt::ArgvFile|Module::ScanDeps|PAR\\)\\s*$
%description
This module implements the App::Packer::Backend interface, for generating
stand-alone executables, perl scripts and PAR files.
+%package Tk
+Summary: Front-end to pp written in Perl/Tk
+BuildArch: noarch
+BuildRequires: desktop-file-utils
+BuildRequires: perl(MIME::Base64)
+Requires: %{name} = %{version}-%{release}
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+Requires: perl(ExtUtils::MakeMaker)
+
+%description Tk
+Tkpp is a GUI frontend to pp, which can turn perl scripts into standalone
+PAR files, perl scripts or executables.
+
+
%prep
%setup -q -n PAR-Packer-%{version}
+
%build
# DEBUG variable needed to disable stripping binary
DEBUG=1 %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
@@ -32,20 +60,29 @@ DEBUG=1 %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
# PAR_GLOBAL_TEMP seems to be needed for the build.
make PAR_GLOBAL_TEMP=/var/tmp
+
%install
make pure_install PERL_INSTALL_ROOT=%{buildroot}
find %{buildroot} -type f -name .packlist -exec rm -f {} \;
find %{buildroot} -type f -name '*.bs' -size 0 -exec rm -f {} \;
find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;
-
%{_fixperms} %{buildroot}/*
+# Install desktop file
+%{SOURCE1} < script/tkpp > tkpp.gif
+install -m644 -D tkpp.gif \
+ $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/tkpp.gif
+desktop-file-install \
+ --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE2}
+
+
%check
export PAR_GLOBAL_TEMP=/var/tmp
#export PAR_GLOBAL_TMPDIR=/var/tmp
## does not pass
# make test PERL_TEST_POD=1 || :
+
%files
%doc AUTHORS ChangeLog README TODO
%{perl_vendorlib}/*
@@ -53,11 +90,24 @@ export PAR_GLOBAL_TEMP=/var/tmp
%{_bindir}/parl
%{_bindir}/parldyn
%{_bindir}/pp
-%{_bindir}/tkpp
-%{_mandir}/man1/*.1.gz
+%{_mandir}/man1/*.1.*
+%exclude %{_mandir}/man1/tkpp.1.*
%{_mandir}/man3/*
+%files Tk
+%{_bindir}/tkpp
+%{_mandir}/man1/tkpp.1.*
+%{_datadir}/applications/tkpp.desktop
+%{_datadir}/icons/hicolor/32x32/apps/tkpp.gif
+
+
%changelog
+* Fri Dec 02 2011 Petr Pisar <ppisar at redhat.com> - 1.011-1
+- 1.011 bump (fixes CVE-2011-4114)
+- Specify run-time dependencies versions
+- Sub-package tkpp into perl-PAR-Packer-Tk
+- Create Free Desktop menu entry
+
* Tue Jul 19 2011 Petr Sabata <contyk at redhat.com> - 1.010-2
- Perl mass rebuild
diff --git a/sources b/sources
index 3db8597..3e07996 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-ee57def445e3d917d48cbf3a52813b54 PAR-Packer-1.010.tar.gz
+b26a703a6e9ddf0268d1490d602a9094 PAR-Packer-1.011.tar.gz
diff --git a/tkpp.desktop b/tkpp.desktop
new file mode 100644
index 0000000..3dc688e
--- /dev/null
+++ b/tkpp.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Tkpp
+GenericName=Perl Archive Writer
+Comment=Front-end to pp written in Perl/Tk
+Exec=tkpp
+Icon=tkpp
+Terminal=false
+Type=Application
+Categories=Development;Building;
More information about the perl-devel
mailing list