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 - [email protected] + +- 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: [email protected] 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 <[email protected]> -Version: 8.81 +Version: 8.85 Release: 1 -Source: ftp://kitenet.net/pub/code/debian/alien_8.81.tar.gz +Source: ftp://kitenet.net/pub/code/debian/alien_8.85.tar.gz License: GPL Group: Utilities/File -Buildroot: /tmp/alien-8.81.build +Buildroot: /tmp/alien-8.85.build Requires: perl BuildArchitectures: noarch @@ -20,7 +20,7 @@ %prep %setup -n alien -rm -rf /tmp/alien-8.81.build +rm -rf /tmp/alien-8.85.build %install perl Makefile.PL PREFIX=$RPM_BUILD_ROOT/usr --- debian/changelog +++ debian/changelog @@ -1,3 +1,40 @@ +alien (8.86) unstable; urgency=low + + * Filter out illegal characters in version number when building a deb. + Closes: #648531 + + -- Joey Hess <[email protected]> Sat, 12 Nov 2011 13:12:35 -0400 + +alien (8.85) unstable; urgency=low + + * Avoid breaking on spaces in filenames. Closes: #618636 + + -- Joey Hess <[email protected]> Sun, 19 Jun 2011 15:43:49 -0400 + +alien (8.84) unstable; urgency=low + + * Silence error message when deleting build tree after making an rpm, + if rpmbuild has already deleted it. Closes: #622846 + * Squash an uninitialized value when creating a deb. + + -- Joey Hess <[email protected]> Fri, 15 Apr 2011 14:13:20 -0400 + +alien (8.83) unstable; urgency=low + + * Correct handling of arch all packages in deb arch check. Closes: #596209 + + -- Joey Hess <[email protected]> Thu, 09 Sep 2010 08:24:58 -0400 + +alien (8.82) unstable; urgency=low + + * 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. Closes: #592625 + + -- Joey Hess <[email protected]> Mon, 30 Aug 2010 17:04:24 -0400 + alien (8.81) unstable; urgency=low * Avoid uninitialized value warning when debian/rules fails to run --- debian/control +++ debian/control @@ -3,14 +3,14 @@ Priority: optional Build-Depends: debhelper (>= 7.0.50) Maintainer: Joey Hess <[email protected]> -Standards-Version: 3.8.4 +Standards-Version: 3.9.2 Vcs-Git: git://git.kitenet.net/alien Homepage: http://kitenet.net/~joey/code/alien/ Package: alien Architecture: all Section: admin -Depends: debhelper (>= 3), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio, rpm2cpio +Depends: debhelper (>= 7), ${misc:Depends}, ${perl:Depends}, rpm (>= 2.4.4-2), dpkg-dev, make, cpio, rpm2cpio Suggests: patch, bzip2, lsb-rpm, lintian, lzma Description: convert and install rpm and other packages Alien allows you to convert LSB, Red Hat, Stampede and Slackware Packages --- debian/copyright +++ debian/copyright @@ -1,35 +1,13 @@ -This is a program originally written by Christoph Lameter -<[email protected]>. +Format: http://dep.debian.net/deps/dep5/ +Source: native package -Deb to rpm conversion code was taken from the Martian program by -Randolph Chung <[email protected]>. - -The Solaris pkg code was written by Mark A. Hershberger -<[email protected]>. - -This program is now maintained by Joey Hess <[email protected]>. - -Copyright 1996, 1997 Christoph Lameter -Portions copyright 1997 Randolph Chung -Portions copyright 2001 Mark A. Hershberger -Copyright 1997-2007 Joey Hess - -License: - - alien is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GPL can be found in -/usr/share/common-licenses/GPL. +Files: * +Copyright: + 1996, 1997 Christoph Lameter + 1997 Randolph Chung + 2001 Mark A. Hershberger + 1997-2011 Joey Hess +License: GPL-2+ + On Debian systems, the complete text of the GPL can be found in + /usr/share/common-licenses/GPL. ++++++ deleted files: --- ready To REVIEW against the previous version: osc request show --diff 112408 To ACCEPT the request: osc request accept 112408 --message="reviewed ok." To DECLINE the request: osc request decline 112408 --message="declined for reason xyz (see ... for background / policy / ...)." To REVOKE the request: osc request revoke 112408 --message="retracted because ..., sorry / thx / see better version ..." -- Hermes messaging (http://hermes.opensuse.org) openSUSE Build Service (https://build.opensuse.org/) Collaboration: http://en.opensuse.org/Build_Service/Collaboration -- To unsubscribe, e-mail: [email protected] To contact the owner, e-mail: [email protected]
