home:Lazy_Kent:branches:openSUSE:Factory:Contrib/alien -> openSUSE:Factory:Contrib/alien
https://build.opensuse.org/request/show/112408
Description: update to 8.86
changes files:
--------------
--- alien.changes
+++ alien.changes
@@ -1,0 +2,25 @@
+Tue Apr 3 15:17:06 UTC 2012 - lazy.kent@opensuse.org
+
+- Update to 8.86.
+ * Filter out illegal characters in version number when building a
+ deb.
+- Changes in 8.85.
+ * Avoid breaking on spaces in filenames.
+- Changes in 8.84.
+ * Silence error message when deleting build tree after making an
+ rpm, if rpmbuild has already deleted it.
+ * Squash an uninitialized value when creating a deb.
+- Changes in 8.83.
+ * Correct handling of arch all packages in deb arch check.
+- Changes in 8.82.
+ * Use debhelper compat level v7 when building packages. All
+ changes since v4 seem safe for alien's generated rules files.
+ * Use dh_prep instead of deprecated dh_clean -k.
+ * Print a nice error message when attempting to build a deb from
+ a package of an unsupported architecture.
+- Corrected License tag.
+- Use full URL as a source.
+- Corrected Summary style.
+- Removed redundant "clean" section.
+
+-------------------------------------------------------------------
old:
----
alien_8.81.tar.bz2
ready
new:
----
alien_8.86.tar.gz
spec files:
-----------
--- alien.spec
+++ alien.spec
@@ -1,22 +1,29 @@
#
-# spec file for package alien (Version 8.81)
+# spec file for package alien
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
+# Copyright (c) 2012 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
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: alien
-Version: 8.81
-Release: 1
-License: GPL v2 or later
-Summary: A Perl Script to Convert Packages
+Version: 8.86
+Release: 0
+License: GPL-2.0+
+Summary: Perl Script to Convert Packages
Url: http://kitenet.net/programs/alien/
Group: System/Packages
-Source: %{name}_%{version}.tar.bz2
+Source: http://ftp.de.debian.org/debian/pool/main/a/alien/%{name}_%{version}.tar.gz
Patch1: alien-strip-tilde-from-version.patch
BuildRequires: deb
Requires: cpio
@@ -28,8 +35,7 @@
%description
Experimental Perl script to convert software packages. The following
-formats are supported: deb (Debian), rpm (Red Hat), and tgz
-(Slackware).
+formats are supported: deb (Debian), rpm (Red Hat), and tgz (Slackware).
%prep
%setup -q -n %{name}
@@ -45,9 +51,6 @@
make PREFIX=%{buildroot}%{_prefix} VARPREFIX=%{buildroot} extra_install
%perl_process_packlist
-%clean
-rm -rf %{buildroot}
-
%files
%defattr(-,root,root)
%doc GPL README TODO gendiff.txt debian/changelog
other changes:
--------------
++++++ alien_8.81.tar.bz2 -> alien_8.86.tar.gz
--- Alien/Package.pm
+++ Alien/Package.pm
@@ -339,14 +339,17 @@
die "alien internal error: unpacked_tree is set to '/'. Please file a bug report!";
}
- # Just in case some dir perms are too screwed up for rm to work and
- # we're not running as root. NB: can't use xargs
- $this->do('find', $this->unpacked_tree, '-type', 'd',
- '-exec', 'chmod', '755', '{}', ';');
+ if (-d $this->unpacked_tree) {
+ # Just in case some dir perms are too screwed up for
+ # rm to work and we're not running as root. NB: can't
+ # use xargs
+ $this->do('find', $this->unpacked_tree, '-type', 'd',
+ '-exec', 'chmod', '755', '{}', ';');
- $this->do('rm', '-rf', $this->unpacked_tree)
- or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
- $this->unpacked_tree('');
+ $this->do('rm', '-rf', $this->unpacked_tree)
+ or die "unable to delete temporary directory '".$this->unpacked_tree."': $!";
+ $this->unpacked_tree('');
+ }
$?=$exitcode;
}
--- Alien/Package/Deb.pm
+++ Alien/Package/Deb.pm
@@ -110,7 +110,7 @@
return map { s/\n//; $_ }
grep {
! /unknown-section alien/
- } $this->runpipe(1, "lintian $deb");
+ } $this->runpipe(1, "lintian '$deb'");
}
else {
return "lintian not available, so not testing";
@@ -130,7 +130,7 @@
my $file=$this->filename;
if ($this->have_dpkg_deb) {
- return $this->runpipe(1, "dpkg-deb --info $file $controlfile 2>/dev/null");
+ return $this->runpipe(1, "dpkg-deb --info '$file' $controlfile 2>/dev/null");
}
else {
# Solaris tar doesn't support O
@@ -139,10 +139,10 @@
return "(mkdir /tmp/tar_out.$$ &&".
" cd /tmp/tar_out.$$ &&".
- " tar xf - ./$file &&".
- " cat $file; cd /; rm -rf /tmp/tar_out.$$)";
+ " tar xf - './$file' &&".
+ " cat '$file'; cd /; rm -rf /tmp/tar_out.$$)";
}
- my $getcontrol = "ar -p $file control.tar.gz | gzip -dc | ".tar_out($controlfile)." 2>/dev/null";
+ my $getcontrol = "ar -p '$file' control.tar.gz | gzip -dc | ".tar_out($controlfile)." 2>/dev/null";
return $this->runpipe(1, $getcontrol);
}
}
@@ -212,11 +212,11 @@
my @filelist;
if ($this->have_dpkg_deb) {
@filelist=map { chomp; s:\./::; "/$_" }
- $this->runpipe(0, "dpkg-deb --fsys-tarfile $file | tar tf -");
+ $this->runpipe(0, "dpkg-deb --fsys-tarfile '$file' | tar tf -");
}
else {
@filelist=map { chomp; s:\./::; "/$_" }
- $this->runpipe(0, "ar -p $file data.tar.gz | gzip -dc | tar tf -");
+ $this->runpipe(0, "ar -p '$file' data.tar.gz | gzip -dc | tar tf -");
}
$this->filelist(\@filelist);
@@ -307,7 +307,7 @@
or die "patch error: $!";
# Look for .rej files.
die "patch failed with .rej files; giving up"
- if $this->runpipe(1, "find $dir -name \"*.rej\"");
+ if $this->runpipe(1, "find '$dir' -name \"*.rej\"");
$this->do('find', '.', '-name', '*.orig', '-exec', 'rm', '{}', ';');
$this->do("chmod", 755, "$dir/debian/rules");
@@ -383,6 +383,11 @@
close OUT;
}
+ # Use debhelper v7
+ open (OUT, ">$dir/debian/compat") || die "$dir/debian/compat: $!";
+ print OUT "7\n";
+ close OUT;
+
# A minimal rules file.
open (OUT, ">$dir/debian/rules") || die "$dir/debian/rules: $!";
my $fixpermscomment = $this->fixperms ? "" : "#";
@@ -390,12 +395,6 @@
#!/usr/bin/make -f
# debian/rules for alien
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# Use v4 compatability mode, so ldconfig gets added to maint scripts.
-export DH_COMPAT=4
-
PACKAGE=\$(shell dh_listpackages)
build:
@@ -411,7 +410,7 @@
binary-arch: build
dh_testdir
dh_testroot
- dh_clean -k -d
+ dh_prep
dh_installdirs
dh_installdocs
@@ -488,6 +487,16 @@
sub build {
my $this=shift;
+
+ # Detect architecture mismatch and abort with a comprehensible
+ # error message.
+ my $arch=$this->arch;
+ if ($arch ne 'all') {
+ my $ret=system("dpkg-architecture", "-i".$arch);
+ if ($ret != 0) {
+ die $this->filename." is for architecture ".$this->arch." ; the package cannot be built on this system"."\n";
+ }
+ }
chdir $this->unpacked_tree;
my $log=$this->runpipe(1, "debian/rules binary 2>&1");
@@ -587,6 +596,8 @@
# get
return unless defined wantarray; # optimization
$_=$this->{version};
+ # filter out some characters not allowed in debian versions
+ s/[^-.+~:A-Za-z0-9]//g; # see lib/dpkg/parsehelp.c parseversion
# Make sure the version contains digets.
unless (/[0-9]/) {
# Drat. Well, add some. dpkg-deb won't work
@@ -738,7 +749,7 @@
return $postinst unless ref $owninfo;
# If there is no postinst, let's make one up..
- $postinst="#!/bin/sh\n" unless length $postinst;
+ $postinst="#!/bin/sh\n" unless defined $postinst && length $postinst;
return $postinst unless %$owninfo;
--- Alien/Package/Lsb.pm
+++ Alien/Package/Lsb.pm
@@ -30,7 +30,7 @@
my $this=shift;
my $file=shift;
return unless $file =~ m/^lsb-.*\.rpm$/;
- my @deps=$this->runpipe(1, "LANG=C rpm -qp -R $file");
+ my @deps=$this->runpipe(1, "LANG=C rpm -qp -R '$file'");
return 1 if grep { s/\s+//g; $_ eq 'lsb' } @deps;
return;
}
--- Alien/Package/Rpm.pm
+++ Alien/Package/Rpm.pm
@@ -83,7 +83,7 @@
foreach my $field (qw{NAME VERSION RELEASE ARCH CHANGELOGTEXT
SUMMARY DESCRIPTION PREFIXES},
keys(%fieldtrans)) {
- my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} $file");
+ my $value=$this->runpipe(0, "LANG=C rpm -qp --queryformat \%{$field} '$file'");
next if $? || $value eq '(none)';
my $key;
if (exists $fieldtrans{$field}) {
@@ -96,16 +96,16 @@
}
# Get the conffiles list.
- $this->conffiles([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qcp $file")]);
+ $this->conffiles([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qcp '$file'")]);
if (defined $this->conffiles->[0] &&
$this->conffiles->[0] eq '(contains no files)') {
$this->conffiles([]);
}
- $this->binary_info(scalar $this->runpipe(0, "rpm -qpi $file"));
+ $this->binary_info(scalar $this->runpipe(0, "rpm -qpi '$file'"));
# Get the filelist.
- $this->filelist([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qpl $file")]);
+ $this->filelist([map { chomp; $_ } $this->runpipe(0, "LANG=C rpm -qpl '$file'")]);
if (defined $this->filelist->[0] &&
$this->filelist->[0] eq '(contains no files)') {
$this->filelist([]);
@@ -128,7 +128,7 @@
}
unless (defined $this->copyright) {
# Older rpms have no licence tag, but have a copyright.
- $this->copyright($this->runpipe(0, "LANG=C rpm -qp --queryformat \%{COPYRIGHT} $file"));
+ $this->copyright($this->runpipe(0, "LANG=C rpm -qp --queryformat \%{COPYRIGHT} '$file'"));
# Fallback.
if (! $this->copyright) {
@@ -424,7 +424,7 @@
$opts="--buildarch ".$this->arch;
}
else {
- # Presumably we're delaing with rpm 3.0 or above, which
+ # Presumably we're dealing with rpm 3.0 or above, which
# doesn't output rpmdir in any format I'd care to try to
# parse. Instead, rpm is now of a late enough version to
# notice the %define's in the spec file, that will make the
@@ -439,7 +439,7 @@
$opts.=" $ENV{RPMBUILDOPT}" if exists $ENV{RPMBUILDOPT};
my $pwd=`pwd`;
chomp $pwd;
- my $command="cd $dir; $buildcmd --buildroot=$pwd/$dir -bb $opts ".$this->name."-".$this->version."-".$this->release.".spec";
+ my $command="cd $dir; $buildcmd --buildroot='$pwd/$dir' -bb $opts '".$this->name."-".$this->version."-".$this->release.".spec'";
my $log=$this->runpipe(1, "$command 2>&1");
if ($?) {
die "Package build failed. Here's the log of the command ($command):\n", $log;
--- Alien/Package/Slp.pm
+++ Alien/Package/Slp.pm
@@ -166,7 +166,7 @@
# Read in the file list.
my @filelist;
# FIXME: support gzip files too!
- foreach ($this->runpipe(0, "bzip2 -d < $file | tar -tf -")) {
+ foreach ($this->runpipe(0, "bzip2 -d < '$file' | tar -tf -")) {
chomp;
s:^\./:/:;
$_="/$_" unless m:^/:;
@@ -179,7 +179,7 @@
$this->distribution('Stampede');
$this->origformat('slp');
$this->changelogtext('');
- $this->binary_info($this->runpipe(0, "ls -l $file"));
+ $this->binary_info($this->runpipe(0, "ls -l '$file'"));
return 1;
}
--- Alien/Package/Tgz.pm
+++ Alien/Package/Tgz.pm
@@ -118,7 +118,7 @@
$this->group("unknown");
$this->origformat('tgz');
$this->changelogtext('');
- $this->binary_info($this->runpipe(0, "ls -l $file"));
+ $this->binary_info($this->runpipe(0, "ls -l '$file'"));
# Now figure out the conffiles. Assume anything in etc/ is a
# conffile.
@@ -152,7 +152,7 @@
# Now get the scripts.
foreach my $script (keys %{scripttrans()}) {
- $this->$script(scalar $this->runpipe(1, "tar Oxf $file install/${scripttrans()}{$script} 2>/dev/null"));
+ $this->$script(scalar $this->runpipe(1, "tar Oxf '$file' install/${scripttrans()}{$script} 2>/dev/null"));
}
return 1;
--- alien.lsm
+++ alien.lsm
@@ -1,6 +1,6 @@
Begin3
Title: alien
-Version: 8.81
+Version: 8.85
Entered-date: 31MAR97
Description: Alien converts Slackware .tgz packages, Red Hat .rpm packages,
Debian .deb packages, and Stampede .slp packages. It can
@@ -9,6 +9,6 @@
Keywords: debian dpkg deb red hat redhat rpm slackware tgz stampede slp convert package LSB
Author: joey@kitenet.net
Primary-site: sunsite.unc.edu /pub/Linux/utils/package
- 80 alien-8.81.tar.gz
+ 80 alien-8.85.tar.gz
Copying-policy: GPL
End
--- alien.spec
+++ alien.spec
@@ -1,12 +1,12 @@
Summary: Install Debian, Slackware, and Stampede packages with rpm.
Name: alien
Packager: Joey Hess