mirror of
https://github.com/Project-OSS-Revival/alien.git
synced 2026-04-24 14:00:17 +00:00
Compare commits
119 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a6bf8f390 | ||
|
|
32f04aed12 | ||
|
|
ab603a11e0 | ||
|
|
b3bc197956 | ||
|
|
ee8794614c | ||
|
|
c4c8e3bc4a | ||
|
|
c6b123e40f | ||
|
|
c83906446f | ||
|
|
6a2e53bc63 | ||
|
|
ccd0532208 | ||
|
|
3985359d47 | ||
|
|
385b2066d3 | ||
|
|
b65f2d6974 | ||
|
|
2989545da6 | ||
|
|
3e7874e029 | ||
|
|
919146ea09 | ||
|
|
7179500cf8 | ||
|
|
f0fe4f6c80 | ||
|
|
922b06bf8d | ||
|
|
b235b51c36 | ||
|
|
3e46c56693 | ||
|
|
80877786d3 | ||
|
|
0de126bcfb | ||
|
|
3f13d15dfd | ||
|
|
f66dbb457b | ||
|
|
a5a16d572f | ||
|
|
18e40eeabb | ||
|
|
1a98232df6 | ||
|
|
648de61a5d | ||
|
|
0a70fe5858 | ||
|
|
e2eb7e0026 | ||
|
|
9b5622f8f2 | ||
|
|
88a0008668 | ||
|
|
a7be498dca | ||
|
|
f11a007797 | ||
|
|
9f53b73b58 | ||
|
|
bb351ddbc8 | ||
|
|
3572ac62b9 | ||
|
|
6443b942ab | ||
|
|
919297f3d1 | ||
|
|
22709da70e | ||
|
|
06ae0587ac | ||
|
|
c1b64b0c48 | ||
|
|
93ad8ae367 | ||
|
|
d3750a8156 | ||
|
|
7a1afcfb97 | ||
|
|
2999238f34 | ||
|
|
887717f304 | ||
|
|
9cb511802b | ||
|
|
6f5a303f3b | ||
|
|
92933477e6 | ||
|
|
53751ccbbf | ||
|
|
41fc0d549f | ||
|
|
b1bd50cc90 | ||
|
|
dd38b4e86d | ||
|
|
7aee419bd2 | ||
|
|
db4ea6fa4a | ||
|
|
f545de15f5 | ||
|
|
2fb28d27d2 | ||
|
|
363deec1c6 | ||
|
|
b69f536367 | ||
|
|
f717997da1 | ||
|
|
3faa48b23f | ||
|
|
e745cde2a0 | ||
|
|
5e4e122d58 | ||
|
|
873c3606f3 | ||
|
|
7640cb99d4 | ||
|
|
585fc93270 | ||
|
|
5b49be4d3d | ||
|
|
2dee87ca02 | ||
|
|
5c6bf645b5 | ||
|
|
1ca19300b4 | ||
|
|
9b37ec8545 | ||
|
|
143131c8c0 | ||
|
|
0d765b965d | ||
|
|
efeddebd32 | ||
|
|
3a44b767ac | ||
|
|
291db35466 | ||
|
|
66b2a2a226 | ||
|
|
574490fb79 | ||
|
|
e7e9f10486 | ||
|
|
a320ae144c | ||
|
|
f6529d9be0 | ||
|
|
38bf42863d | ||
|
|
b4bdd3818d | ||
|
|
7e84fd2a26 | ||
|
|
55edc3f59a | ||
|
|
cc5ff87ef6 | ||
|
|
e75140dc5f | ||
|
|
2f50988983 | ||
|
|
6049930109 | ||
|
|
f581595af6 | ||
|
|
72599080d2 | ||
|
|
166d384024 | ||
|
|
140075f2d6 | ||
|
|
7ade57f401 | ||
|
|
577e2b11e2 | ||
|
|
72bd91a7f4 | ||
|
|
dc38bbb9e1 | ||
|
|
6ab9218809 | ||
|
|
9c28b11e6c | ||
|
|
e14d223117 | ||
|
|
f456bbf8b6 | ||
|
|
78734c0523 | ||
|
|
f680d3af91 | ||
|
|
5b605e1960 | ||
|
|
cbf330f982 | ||
|
|
bcd8dae206 | ||
|
|
edcd96f80f | ||
|
|
c21645ddfa | ||
|
|
0f8fa0df54 | ||
|
|
2a84d6e8ec | ||
|
|
66a1247dfd | ||
|
|
e921e1417f | ||
|
|
d15598e944 | ||
|
|
ee792cb76c | ||
|
|
ecabe240bc | ||
|
|
b2421b584a | ||
|
|
7893ffb4ed |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
alien.lsm
|
||||
alien.spec
|
||||
@@ -62,7 +62,7 @@ The package's maintainer.
|
||||
|
||||
=item depends
|
||||
|
||||
The package's dependancies. Only dependencies that should exist on all
|
||||
The package's dependencies. Only dependencies that should exist on all
|
||||
target distributions can be put in here though (ie: lsb).
|
||||
|
||||
=item group
|
||||
@@ -173,7 +173,7 @@ sub install {
|
||||
=item test
|
||||
|
||||
Test a package file. The filename is passed, should return an array of lines
|
||||
of test results. Child classses may implement this.
|
||||
of test results. Child classes may implement this.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -331,20 +331,27 @@ package was unpacked, it is time now to wipe out the temporary directory.
|
||||
sub DESTROY {
|
||||
my $this=shift;
|
||||
|
||||
my $exitcode=$?;
|
||||
|
||||
return if (! defined $this->unpacked_tree || $this->unpacked_tree eq '');
|
||||
# This should never happen, but it pays to check.
|
||||
if ($this->unpacked_tree eq '/') {
|
||||
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
|
||||
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('');
|
||||
}
|
||||
|
||||
$?=$exitcode;
|
||||
}
|
||||
|
||||
=item AUTOLOAD
|
||||
|
||||
@@ -9,6 +9,7 @@ Alien::Package::Deb - an object that represents a deb package
|
||||
package Alien::Package::Deb;
|
||||
use strict;
|
||||
use base qw(Alien::Package);
|
||||
use List::Util qw(first);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
@@ -23,6 +24,10 @@ Alien::Package.
|
||||
|
||||
Set to a true value if dpkg-deb is available.
|
||||
|
||||
=item deb_member_list
|
||||
|
||||
Set to the list of member names in the deb package.
|
||||
|
||||
=item dirtrans
|
||||
|
||||
After the build stage, set to a hash reference of the directories we moved
|
||||
@@ -66,7 +71,7 @@ sub init {
|
||||
|
||||
=item checkfile
|
||||
|
||||
Detect deb files by their extention.
|
||||
Detect deb files by their extension.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -110,13 +115,33 @@ sub test {
|
||||
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";
|
||||
}
|
||||
}
|
||||
|
||||
=item get_deb_member_list
|
||||
|
||||
Helper method. Pass it the name of the deb and it will return the list of
|
||||
ar members.
|
||||
|
||||
=cut
|
||||
|
||||
sub get_deb_member_list {
|
||||
my $this=shift;
|
||||
my $file=$this->filename;
|
||||
my $members=$this->deb_member_list;
|
||||
|
||||
unless (defined $members) {
|
||||
$members = [ map { chomp; $_ } $this->runpipe(1, "ar -t '$file'") ];
|
||||
$this->deb_member_list($members);
|
||||
}
|
||||
|
||||
return @{$members};
|
||||
}
|
||||
|
||||
=item getcontrolfile
|
||||
|
||||
Helper method. Pass it the name of a control file, and it will pull it out
|
||||
@@ -130,7 +155,7 @@ sub getcontrolfile {
|
||||
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,14 +164,65 @@ sub getcontrolfile {
|
||||
|
||||
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 $controlcomp;
|
||||
my $controlmember = first { /^control\.tar/ }
|
||||
$this->get_deb_member_list;
|
||||
if (! defined $controlmember) {
|
||||
die 'Cannot find control member!';
|
||||
} elsif ($controlmember eq 'control.tar.gz') {
|
||||
$controlcomp = 'gzip -dc';
|
||||
} elsif ($controlmember eq 'control.tar.xz') {
|
||||
$controlcomp = 'xz -dc';
|
||||
} elsif ($controlmember eq 'control.tar.zst') {
|
||||
$controlcomp = 'zstd -dc';
|
||||
} elsif ($controlmember eq 'control.tar') {
|
||||
$controlcomp = 'cat';
|
||||
} else {
|
||||
die 'Unknown control member!';
|
||||
}
|
||||
my $getcontrol = "ar -p '$file' $controlmember | $controlcomp | ".tar_out($controlfile)." 2>/dev/null";
|
||||
return $this->runpipe(1, $getcontrol);
|
||||
}
|
||||
}
|
||||
|
||||
=item get_datamember_cmd
|
||||
|
||||
Helper method. Pass it the name of the deb and it will return the raw
|
||||
command needed to extract the data.tar member.
|
||||
|
||||
=cut
|
||||
|
||||
sub get_datamember_cmd {
|
||||
my $this=shift;
|
||||
my $file=$this->filename;
|
||||
|
||||
my $datacomp;
|
||||
my $datamember = first { /^data\.tar/ }
|
||||
$this->get_deb_member_list;
|
||||
if (! defined $datamember) {
|
||||
die 'Cannot find data member!';
|
||||
} elsif ($datamember eq 'data.tar.gz') {
|
||||
$datacomp = 'gzip -dc';
|
||||
} elsif ($datamember eq 'data.tar.bz2') {
|
||||
$datacomp = 'bzip2 -dc';
|
||||
} elsif ($datamember eq 'data.tar.xz') {
|
||||
$datacomp = 'xz -dc';
|
||||
} elsif ($datamember eq 'data.tar.lzma') {
|
||||
$datacomp = 'xz -dc';
|
||||
} elsif ($datamember eq 'data.tar.zst') {
|
||||
$datacomp = 'zstd -dc';
|
||||
} elsif ($datamember eq 'data.tar') {
|
||||
$datacomp = 'cat';
|
||||
} else {
|
||||
die 'Unknown data member!';
|
||||
}
|
||||
|
||||
return "ar -p '$file' $datamember | $datacomp";
|
||||
}
|
||||
|
||||
=item scan
|
||||
|
||||
Implement the scan method to read a deb file.
|
||||
@@ -209,15 +285,15 @@ sub scan {
|
||||
|
||||
# Read in the list of all files.
|
||||
# Note that tar doesn't supply a leading '/', so we have to add that.
|
||||
my @filelist;
|
||||
my $datamember_cmd;
|
||||
if ($this->have_dpkg_deb) {
|
||||
@filelist=map { chomp; s:\./::; "/$_" }
|
||||
$this->runpipe(0, "dpkg-deb --fsys-tarfile $file | tar tf -");
|
||||
$datamember_cmd = "dpkg-deb --fsys-tarfile '$file'";
|
||||
}
|
||||
else {
|
||||
@filelist=map { chomp; s:\./::; "/$_" }
|
||||
$this->runpipe(0, "ar -p $file data.tar.gz | gzip -dc | tar tf -");
|
||||
$datamember_cmd = $this->get_datamember_cmd($file);
|
||||
}
|
||||
my @filelist=map { chomp; s:\./::; "/$_" }
|
||||
$this->runpipe(0, "$datamember_cmd | tar tf -");
|
||||
$this->filelist(\@filelist);
|
||||
|
||||
# Read in the scripts, if any.
|
||||
@@ -244,7 +320,9 @@ sub unpack {
|
||||
or die "Unpacking of '$file' failed: $!";
|
||||
}
|
||||
else {
|
||||
$this->do("ar -p $file data.tar.gz | gzip -dc | (cd ".$this->unpacked_tree."; tar xpf -)")
|
||||
my $datamember_cmd = $this->get_datamember_cmd($file);
|
||||
|
||||
$this->do("$datamember_cmd | (cd ".$this->unpacked_tree."; tar xpf -)")
|
||||
or die "Unpacking of '$file' failed: $!";
|
||||
}
|
||||
|
||||
@@ -307,7 +385,7 @@ sub prep {
|
||||
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");
|
||||
|
||||
@@ -317,6 +395,7 @@ sub prep {
|
||||
my $line=<$changelog>;
|
||||
if ($line=~/^[^ ]+\s+\(([^)]+)\)\s/) {
|
||||
my $version=$1;
|
||||
$version=~s/\s+//; # ensure no whitespace
|
||||
if ($version=~/(.*)-(.*)/) {
|
||||
$version=$1;
|
||||
$this->release($2);
|
||||
@@ -334,10 +413,14 @@ sub prep {
|
||||
print OUT $this->name." (".$this->version."-".$this->release.") experimental; urgency=low\n";
|
||||
print OUT "\n";
|
||||
print OUT " * Converted from .".$this->origformat." format to .deb by alien version $Alien::Version\n";
|
||||
print OUT " \n";
|
||||
if (defined $this->changelogtext) {
|
||||
my $ct=$this->changelogtext;
|
||||
$ct=~s/^/ /gm;
|
||||
print OUT $ct."\n";
|
||||
}
|
||||
print OUT "\n";
|
||||
print OUT " -- ".$this->username." <".$this->email."> ".$this->date."\n";
|
||||
print OUT "\n";
|
||||
print OUT $this->changelogtext."\n" if defined $this->changelogtext;
|
||||
close OUT;
|
||||
|
||||
# Control file.
|
||||
@@ -378,6 +461,11 @@ sub prep {
|
||||
close OUT;
|
||||
}
|
||||
|
||||
# Use debhelper v7
|
||||
open (OUT, ">$dir/debian/compat") || die "$dir/debian/compat: $!";
|
||||
print OUT "10\n";
|
||||
close OUT;
|
||||
|
||||
# A minimal rules file.
|
||||
open (OUT, ">$dir/debian/rules") || die "$dir/debian/rules: $!";
|
||||
my $fixpermscomment = $this->fixperms ? "" : "#";
|
||||
@@ -385,72 +473,56 @@ sub prep {
|
||||
#!/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:
|
||||
dh_testdir
|
||||
%:
|
||||
dh \$\@
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
override_dh_clean:
|
||||
dh_clean -d
|
||||
|
||||
binary-indep: build
|
||||
override_dh_auto_configure:
|
||||
|
||||
binary-arch: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k -d
|
||||
dh_installdirs
|
||||
override_dh_auto_build:
|
||||
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
|
||||
# Copy the packages's files.
|
||||
override_dh_auto_install:
|
||||
mkdir -p debian/\$(PACKAGE)
|
||||
# Copy the packages's files.
|
||||
find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \\
|
||||
xargs -0 -r -i cp -a {} debian/\$(PACKAGE)
|
||||
|
||||
sed -e s#'./'##g | \\
|
||||
xargs -0 -r -i cp -a ./{} debian/\$(PACKAGE)/{}
|
||||
#
|
||||
# If you need to move files around in debian/\$(PACKAGE) or do some
|
||||
# binary patching, do it here
|
||||
#
|
||||
|
||||
|
||||
override_dh_strip:
|
||||
# This has been known to break on some wacky binaries.
|
||||
# dh_strip
|
||||
dh_compress
|
||||
$fixpermscomment dh_fixperms
|
||||
dh_makeshlibs
|
||||
dh_installdeb
|
||||
-dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
# dh_strip
|
||||
|
||||
override_dh_usrlocal:
|
||||
-dh_usrlocal || printf "Your package seems to be installing files into /usr/local/, which could be buggy. Will continue anyway.\\n"
|
||||
|
||||
override_dh_fixperms:
|
||||
$fixpermscomment dh_fixperms
|
||||
|
||||
override_dh_shlibdeps:
|
||||
-dh_shlibdeps
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary
|
||||
EOF
|
||||
close OUT;
|
||||
$this->do("chmod", 755, "$dir/debian/rules");
|
||||
|
||||
# Save any scripts.
|
||||
if ($this->usescripts) {
|
||||
foreach my $script (qw{postinst postrm preinst prerm}) {
|
||||
my $data=$this->$script();
|
||||
next unless defined $data;
|
||||
next if $data =~ m/^\s*$/;
|
||||
open (OUT,">$dir/debian/$script") ||
|
||||
die "$dir/debian/$script: $!";
|
||||
print OUT $data;
|
||||
close OUT;
|
||||
$this->savescript($script, $this->$script());
|
||||
}
|
||||
}
|
||||
else {
|
||||
# There may be a postinst with permissions fixups even when
|
||||
# scripts are disabled.
|
||||
$this->savescript("postinst", undef);
|
||||
}
|
||||
|
||||
my %dirtrans=( # Note: no trailing slashes on these directory names!
|
||||
# Move files to FHS-compliant locations, if possible.
|
||||
@@ -484,12 +556,26 @@ Build a deb.
|
||||
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");
|
||||
if ($?) {
|
||||
chdir "..";
|
||||
my $err=$?;
|
||||
if ($err) {
|
||||
if (! defined $log) {
|
||||
die "Package build failed; could not run generated debian/rules file.\n";
|
||||
}
|
||||
die "Package build failed. Here's the log:\n", $log;
|
||||
}
|
||||
chdir "..";
|
||||
|
||||
return $this->name."_".$this->version."-".$this->release."_".$this->arch.".deb";
|
||||
}
|
||||
@@ -524,7 +610,7 @@ sub cleantree {
|
||||
|
||||
Set/get package name.
|
||||
|
||||
Always returns the packge name in lowercase with all invalid characters
|
||||
Always returns the package name in lowercase with all invalid characters
|
||||
rmoved. The name is however, stored unchanged.
|
||||
|
||||
=cut
|
||||
@@ -578,12 +664,13 @@ sub version {
|
||||
# get
|
||||
return unless defined wantarray; # optimization
|
||||
$_=$this->{version};
|
||||
# Make sure the version contains digets.
|
||||
unless (/[0-9]/) {
|
||||
# Drat. Well, add some. dpkg-deb won't work
|
||||
# on a version w/o numbers!
|
||||
return $_."0";
|
||||
# Make sure the version contains a digit at the start, as required
|
||||
# by dpkg-deb.
|
||||
unless (/^[0-9]/) {
|
||||
$_="0".$_;
|
||||
}
|
||||
# filter out some characters not allowed in debian versions
|
||||
s/[^-.+~:A-Za-z0-9]//g; # see lib/dpkg/parsehelp.c parseversion
|
||||
return $_;
|
||||
}
|
||||
|
||||
@@ -679,7 +766,7 @@ sub email {
|
||||
close MAILNAME;
|
||||
}
|
||||
if (!$mailname) {
|
||||
$mailname=$this->runpipe(1, "hostname -f");
|
||||
$mailname=$this->runpipe(1, "hostname");
|
||||
chomp $mailname;
|
||||
}
|
||||
return "$login\@$mailname";
|
||||
@@ -709,32 +796,52 @@ sub username {
|
||||
return $username;
|
||||
}
|
||||
|
||||
=item postinst
|
||||
=item savescript
|
||||
|
||||
Returns the postinst. This may include generated shell code to set owners
|
||||
and groups from the owninfo field, and update modes from the modeinfo field.
|
||||
Saves script to debian directory.
|
||||
|
||||
=cut
|
||||
|
||||
sub postinst {
|
||||
sub savescript {
|
||||
my $this=shift;
|
||||
my $script=shift;
|
||||
my $data=shift;
|
||||
|
||||
if (@_) {
|
||||
$this->{postinst}=shift;
|
||||
if ($script eq 'postinst') {
|
||||
$data=$this->gen_postinst($data);
|
||||
}
|
||||
|
||||
my $dir=$this->unpacked_tree;
|
||||
|
||||
return unless defined $data;
|
||||
next if $data =~ m/^\s*$/;
|
||||
open (OUT,">$dir/debian/$script") ||
|
||||
die "$dir/debian/$script: $!";
|
||||
print OUT $data;
|
||||
close OUT;
|
||||
}
|
||||
|
||||
=item gen_postinst
|
||||
|
||||
Modifies or creates a postinst. This may include generated shell code to set
|
||||
owners and groups from the owninfo field, and update modes from the modeinfo
|
||||
field.
|
||||
|
||||
=cut
|
||||
|
||||
sub gen_postinst {
|
||||
my $this=shift;
|
||||
my $postinst=shift;
|
||||
|
||||
my $owninfo = $this->owninfo;
|
||||
my $modeinfo = $this->modeinfo;
|
||||
my $postinst = $this->{postinst};
|
||||
return $postinst unless ref $owninfo;
|
||||
return $postinst unless ref $owninfo && %$owninfo;
|
||||
|
||||
# If there is no postinst, let's make one up..
|
||||
$postinst="#!/bin/sh\n" unless length $postinst;
|
||||
|
||||
return $postinst unless %$owninfo;
|
||||
$postinst="#!/bin/sh\n" unless defined $postinst && length $postinst;
|
||||
|
||||
my ($firstline, $rest)=split(/\n/, $postinst, 2);
|
||||
if ($firstline !~ m/^#!\s*\/bin\/sh/) {
|
||||
if ($firstline !~ m/^#!\s*\/bin\/(ba)?sh/) {
|
||||
print STDERR "warning: unable to add ownership fixup code to postinst as the postinst is not a shell script!\n";
|
||||
return $postinst;
|
||||
}
|
||||
@@ -750,7 +857,7 @@ sub postinst {
|
||||
return "$firstline\n$permscript\n$rest";
|
||||
}
|
||||
|
||||
=cut
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ sub checkfile {
|
||||
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;
|
||||
}
|
||||
@@ -96,8 +96,8 @@ sub revert {
|
||||
|
||||
=item build
|
||||
|
||||
Uses the parent's build method. If a lsb-rpm is available, uses it to build
|
||||
the package.
|
||||
Uses the parent's build method. If a lsb-rpmbuild is available, uses it to
|
||||
build the package.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -105,8 +105,8 @@ sub build {
|
||||
my $this=shift;
|
||||
my $buildcmd=shift || 'rpmbuild';
|
||||
foreach (split(/:/,$ENV{PATH})) {
|
||||
if (-x "$_/lsb-rpm") {
|
||||
$buildcmd='lsb-rpm';
|
||||
if (-x "$_/lsb-rpmbuild") {
|
||||
$buildcmd='lsb-rpmbuild';
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,7 +262,7 @@ sub prep {
|
||||
# grep {/^\./} readdir DIR;
|
||||
# closedir DIR;
|
||||
|
||||
$this->do("cd $dir; find . -print | pkgproto > ./prototype")
|
||||
$this->do("cd $dir; find . -print | sed -e '/.\\/prototype\$/d' | pkgproto > ./prototype")
|
||||
|| die "error during pkgproto: $!\n";
|
||||
|
||||
open(PKGPROTO, ">>$dir/prototype")
|
||||
@@ -327,6 +327,8 @@ sub build {
|
||||
return $name;
|
||||
}
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Mark Hershberger <mah@everybody.org>
|
||||
|
||||
@@ -8,7 +8,9 @@ Alien::Package::Rpm - an object that represents a rpm package
|
||||
|
||||
package Alien::Package::Rpm;
|
||||
use strict;
|
||||
use base qw(Alien::Package);
|
||||
use Exporter qw(import);
|
||||
our @EXPORT_OK = qw(arch);
|
||||
use base qw(Alien::Package Exporter);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
@@ -31,7 +33,7 @@ Relocatable rpm packages have a prefixes field.
|
||||
|
||||
=item checkfile
|
||||
|
||||
Detect rpm files by their extention.
|
||||
Detect rpm files by their extension.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -44,7 +46,7 @@ sub checkfile {
|
||||
|
||||
=item install
|
||||
|
||||
Install a rpm. If RPMINSTALLOPT is set in the environement, the options in
|
||||
Install a rpm. If RPMINSTALLOPT is set in the environment, the options in
|
||||
it are passed to rpm on its command line.
|
||||
|
||||
=cut
|
||||
@@ -76,13 +78,15 @@ sub scan {
|
||||
POSTIN => 'postinst',
|
||||
PREUN => 'prerm',
|
||||
POSTUN => 'postrm',
|
||||
LICENSE => 'copyright',
|
||||
);
|
||||
|
||||
# Use --queryformat to pull out all the fields we need.
|
||||
foreach my $field (qw{NAME VERSION RELEASE ARCH CHANGELOGTEXT
|
||||
SUMMARY DESCRIPTION COPYRIGHT PREFIXES},
|
||||
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}) {
|
||||
$key=$fieldtrans{$field};
|
||||
@@ -90,21 +94,20 @@ sub scan {
|
||||
else {
|
||||
$key=lc($field);
|
||||
}
|
||||
$value='' if $value eq '(none)';
|
||||
$this->$key($value);
|
||||
}
|
||||
|
||||
# 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([]);
|
||||
@@ -122,12 +125,18 @@ sub scan {
|
||||
$this->summary('Converted RPM package');
|
||||
}
|
||||
}
|
||||
unless (defined $this->copyright) {
|
||||
$this->copyright('unknown');
|
||||
}
|
||||
unless (defined $this->description) {
|
||||
$this->description($this->summary);
|
||||
}
|
||||
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'"));
|
||||
|
||||
# Fallback.
|
||||
if (! $this->copyright) {
|
||||
$this->copyright('unknown');
|
||||
}
|
||||
}
|
||||
if (! defined $this->release || ! defined $this->version ||
|
||||
! defined $this->name) {
|
||||
die "Error querying rpm file";
|
||||
@@ -152,7 +161,13 @@ sub unpack {
|
||||
$this->SUPER::unpack(@_);
|
||||
my $workdir=$this->unpacked_tree;
|
||||
|
||||
$this->do("rpm2cpio ".$this->filename." | (cd $workdir; cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1")
|
||||
# Check if we need to use lzma to uncompress the cpio archive
|
||||
my $decomp='';
|
||||
if ($this->do("rpm2cpio '".$this->filename."' | lzma -t -q > /dev/null 2>&1")) {
|
||||
$decomp = 'lzma -d -q |';
|
||||
}
|
||||
|
||||
$this->do("rpm2cpio '".$this->filename."' | (cd $workdir; $decomp cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time) 2>&1")
|
||||
or die "Unpacking of '".$this->filename."' failed";
|
||||
|
||||
# cpio does not necessarily store all parent directories in an
|
||||
@@ -161,7 +176,7 @@ sub unpack {
|
||||
# Find those directories and make them mode 755, which is more
|
||||
# reasonable.
|
||||
my %seenfiles;
|
||||
open (RPMLIST, "rpm2cpio ".$this->filename." | cpio -it --quiet |")
|
||||
open (RPMLIST, "rpm2cpio '".$this->filename."' | $decomp cpio -it --quiet |")
|
||||
or die "File list of '".$this->filename."' failed";
|
||||
while (<RPMLIST>) {
|
||||
chomp;
|
||||
@@ -171,7 +186,7 @@ sub unpack {
|
||||
foreach my $file (`cd $workdir; find ./`) {
|
||||
chomp $file;
|
||||
if (! $seenfiles{$file} && -d "$workdir/$file" && ! -l "$workdir/$file") {
|
||||
$this->do("chmod 755 $workdir/$file");
|
||||
$this->do("chmod 755 '$workdir/$file'");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,10 +250,13 @@ sub unpack {
|
||||
# postinst.
|
||||
my %owninfo = ();
|
||||
my %modeinfo = ();
|
||||
open (GETPERMS, 'rpm --queryformat \'[%{FILEMODES} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILENAMES}\n]\' -qp '.$this->filename.' |');
|
||||
open (GETPERMS, 'rpm --queryformat \'[%{FILEMODES} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILENAMES}\n]\' -qp \''.$this->filename.'\' |');
|
||||
while (<GETPERMS>) {
|
||||
chomp;
|
||||
my ($mode, $owner, $group, $file) = split(/ /, $_, 4);
|
||||
|
||||
next if -l "$workdir/$file";
|
||||
|
||||
$mode = $mode & 07777; # remove filetype
|
||||
my $uid = getpwnam($owner);
|
||||
if (! defined $uid || $uid != 0) {
|
||||
@@ -255,18 +273,21 @@ sub unpack {
|
||||
}
|
||||
$gid=0;
|
||||
}
|
||||
if (defined($owninfo{$file}) && ($mode & 07000 > 0)) {
|
||||
if (defined($owninfo{$file}) && (($mode & 07000) > 0)) {
|
||||
$modeinfo{$file} = sprintf "%lo", $mode;
|
||||
}
|
||||
next unless -e "$workdir/$file"; # skip broken links
|
||||
# Note that ghost files exist in the metadata but not
|
||||
# in the cpio archive, so check that the file exists
|
||||
# before trying to access it
|
||||
if (-e "$workdir/$file") {
|
||||
if ($> == 0) {
|
||||
$this->do("chown", "$uid:$gid", "$workdir/$file")
|
||||
|| die "failed chowning $file to $uid\:$gid\: $!";
|
||||
}
|
||||
next if -l "$workdir/$file"; # skip links
|
||||
$this->do("chmod", sprintf("%lo", $mode), "$workdir/$file")
|
||||
|| die "failed changing mode of $file to $mode\: $!";
|
||||
}
|
||||
}
|
||||
$this->owninfo(\%owninfo);
|
||||
$this->modeinfo(\%modeinfo);
|
||||
|
||||
@@ -283,10 +304,142 @@ sub prep {
|
||||
my $this=shift;
|
||||
my $dir=$this->unpacked_tree || die "The package must be unpacked first!";
|
||||
|
||||
# Exclude standard system directories
|
||||
# This list is adapted from the rpmlint source code
|
||||
my @standard_dirs = (
|
||||
"/",
|
||||
"/bin/",
|
||||
"/boot/",
|
||||
"/etc/",
|
||||
"/etc/X11/",
|
||||
"/etc/opt/",
|
||||
"/etc/profile.d/",
|
||||
"/etc/skel/",
|
||||
"/etc/xinetd.d/",
|
||||
"/home/",
|
||||
"/lib/",
|
||||
"/lib/modules/",
|
||||
"/lib64/",
|
||||
"/media/",
|
||||
"/mnt/",
|
||||
"/mnt/cdrom/",
|
||||
"/mnt/disk/",
|
||||
"/mnt/floppy/",
|
||||
"/opt/",
|
||||
"/proc/",
|
||||
"/root/",
|
||||
"/run/",
|
||||
"/sbin/",
|
||||
"/selinux/",
|
||||
"/srv/",
|
||||
"/sys/",
|
||||
"/tmp/",
|
||||
"/usr/",
|
||||
"/usr/X11R6/",
|
||||
"/usr/X11R6/bin/",
|
||||
"/usr/X11R6/doc/",
|
||||
"/usr/X11R6/include/",
|
||||
"/usr/X11R6/lib/",
|
||||
"/usr/X11R6/lib64/",
|
||||
"/usr/X11R6/man/",
|
||||
"/usr/X11R6/man/man1/",
|
||||
"/usr/X11R6/man/man2/",
|
||||
"/usr/X11R6/man/man3/",
|
||||
"/usr/X11R6/man/man4/",
|
||||
"/usr/X11R6/man/man5/",
|
||||
"/usr/X11R6/man/man6/",
|
||||
"/usr/X11R6/man/man7/",
|
||||
"/usr/X11R6/man/man8/",
|
||||
"/usr/X11R6/man/man9/",
|
||||
"/usr/X11R6/man/mann/",
|
||||
"/usr/bin/",
|
||||
"/usr/bin/X11/",
|
||||
"/usr/etc/",
|
||||
"/usr/games/",
|
||||
"/usr/include/",
|
||||
"/usr/lib/",
|
||||
"/usr/lib/X11/",
|
||||
"/usr/lib/games/",
|
||||
"/usr/lib/gcc-lib/",
|
||||
"/usr/lib/menu/",
|
||||
"/usr/lib64/",
|
||||
"/usr/lib64/gcc-lib/",
|
||||
"/usr/local/",
|
||||
"/usr/local/bin/",
|
||||
"/usr/local/doc/",
|
||||
"/usr/local/etc/",
|
||||
"/usr/local/games/",
|
||||
"/usr/local/info/",
|
||||
"/usr/local/lib/",
|
||||
"/usr/local/lib64/",
|
||||
"/usr/local/man/",
|
||||
"/usr/local/man/man1/",
|
||||
"/usr/local/man/man2/",
|
||||
"/usr/local/man/man3/",
|
||||
"/usr/local/man/man4/",
|
||||
"/usr/local/man/man5/",
|
||||
"/usr/local/man/man6/",
|
||||
"/usr/local/man/man7/",
|
||||
"/usr/local/man/man8/",
|
||||
"/usr/local/man/man9/",
|
||||
"/usr/local/man/mann/",
|
||||
"/usr/local/sbin/",
|
||||
"/usr/local/share/",
|
||||
"/usr/local/share/man/",
|
||||
"/usr/local/share/man/man1/",
|
||||
"/usr/local/share/man/man2/",
|
||||
"/usr/local/share/man/man3/",
|
||||
"/usr/local/share/man/man4/",
|
||||
"/usr/local/share/man/man5/",
|
||||
"/usr/local/share/man/man6/",
|
||||
"/usr/local/share/man/man7/",
|
||||
"/usr/local/share/man/man8/",
|
||||
"/usr/local/share/man/man9/",
|
||||
"/usr/local/share/man/mann/",
|
||||
"/usr/local/src/",
|
||||
"/usr/sbin/",
|
||||
"/usr/share/",
|
||||
"/usr/share/dict/",
|
||||
"/usr/share/doc/",
|
||||
"/usr/share/icons/",
|
||||
"/usr/share/info/",
|
||||
"/usr/share/man/",
|
||||
"/usr/share/man/man1/",
|
||||
"/usr/share/man/man2/",
|
||||
"/usr/share/man/man3/",
|
||||
"/usr/share/man/man4/",
|
||||
"/usr/share/man/man5/",
|
||||
"/usr/share/man/man6/",
|
||||
"/usr/share/man/man7/",
|
||||
"/usr/share/man/man8/",
|
||||
"/usr/share/man/man9/",
|
||||
"/usr/share/man/mann/",
|
||||
"/usr/share/misc/",
|
||||
"/usr/src/",
|
||||
"/usr/tmp/",
|
||||
"/var/",
|
||||
"/var/cache/",
|
||||
"/var/db/",
|
||||
"/var/lib/",
|
||||
"/var/lib/games/",
|
||||
"/var/lib/misc/",
|
||||
"/var/lib/rpm/",
|
||||
"/var/local/",
|
||||
"/var/log/",
|
||||
"/var/mail/",
|
||||
"/var/nis/",
|
||||
"/var/opt/",
|
||||
"/var/preserve/",
|
||||
"/var/spool/",
|
||||
"/var/spool/mail/",
|
||||
"/var/tmp/"
|
||||
);
|
||||
|
||||
# Place %config in front of files that are conffiles.
|
||||
my @conffiles = @{$this->conffiles};
|
||||
my $filelist;
|
||||
foreach my $fn (@{$this->filelist}) {
|
||||
if (! grep(m:^\Q$fn\E$:,@standard_dirs)) {
|
||||
# Unquote any escaped characters in filenames - needed for
|
||||
# non ascii characters. (eg. iso_8859-1 latin set)
|
||||
if ($fn =~ /\\/) {
|
||||
@@ -305,6 +458,7 @@ sub prep {
|
||||
$filelist.=qq{"$fn"\n};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Write out the spec file.
|
||||
my $spec="$dir/".$this->name."-".$this->version."-".$this->release.".spec";
|
||||
@@ -373,7 +527,7 @@ sub cleantree {
|
||||
|
||||
=item build
|
||||
|
||||
Build a rpm. If RPMBUILDOPT is set in the environement, the options in
|
||||
Build a rpm. If RPMBUILDOPT is set in the environment, the options in
|
||||
it are passed to rpm on its command line.
|
||||
|
||||
An optional parameter, if passed, can be used to specify the program to use
|
||||
@@ -405,7 +559,7 @@ sub build {
|
||||
$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
|
||||
@@ -418,7 +572,9 @@ sub build {
|
||||
}
|
||||
|
||||
$opts.=" $ENV{RPMBUILDOPT}" if exists $ENV{RPMBUILDOPT};
|
||||
my $command="cd $dir; $buildcmd -bb $opts ".$this->name."-".$this->version."-".$this->release.".spec";
|
||||
my $pwd=`pwd`;
|
||||
chomp $pwd;
|
||||
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;
|
||||
@@ -458,16 +614,21 @@ sub version {
|
||||
|
||||
Set/get script fields.
|
||||
|
||||
When retrieving a value, we have to do some truely sick mangling. Since
|
||||
When retrieving a value, we have to do some truly sick mangling. Since
|
||||
debian/slackware scripts can be anything -- perl programs or binary files
|
||||
-- and rpm is limited to only shell scripts, we need to encode the files
|
||||
and add a scrap of shell script to make it unextract and run on the fly.
|
||||
|
||||
When setting a value, we do some mangling too. Rpm maitainer scripts
|
||||
are typically shell scripts, but often lack the leading #!/bin/sh
|
||||
This can confuse dpkg, so add the #!/bin/sh if it looks like there
|
||||
When setting a value, we do some mangling too. Rpm maintainer scripts
|
||||
are typically shell scripts, but often lack the leading shebang line.
|
||||
This can confuse dpkg, so add the shebang if it looks like there
|
||||
is no shebang magic already in place.
|
||||
|
||||
Additionally, it's not uncommon for rpm maintainer scripts to contain
|
||||
bashisms, which can be triggered when they are ran on systems where /bin/sh
|
||||
is not bash. To work around this, the shebang line of the scripts is
|
||||
changed to use bash.
|
||||
|
||||
Also, if the rpm is relocatable, the script could refer to
|
||||
RPM_INSTALL_PREFIX, which is set by rpm at run time. Deal with this by
|
||||
adding code to the script to set RPM_INSTALL_PREFIX.
|
||||
@@ -489,9 +650,10 @@ sub _script_helper {
|
||||
|
||||
my $value=shift;
|
||||
if (length $value and $value !~ m/^#!\s*\//) {
|
||||
$value="#!/bin/sh\n$prefixcode$value";
|
||||
$value="#!/bin/bash\n$prefixcode$value";
|
||||
}
|
||||
else {
|
||||
$value=~s@^#!\s*/bin/sh(\s)@#!/bin/bash$1@;
|
||||
$value=~s/\n/\n$prefixcode/s;
|
||||
}
|
||||
$this->{$script} = $value;
|
||||
@@ -537,7 +699,7 @@ sub prerm {
|
||||
|
||||
Set/get arch field. When the arch field is set, some sanitizing is done
|
||||
first to convert it to the debian format used internally. When it's
|
||||
retreived it's converted back to rpm form from the internal form.
|
||||
retrieved it's converted back to rpm form from the internal form.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -580,9 +742,20 @@ sub arch {
|
||||
# Treat armv4l as arm.
|
||||
$arch='arm';
|
||||
}
|
||||
elsif ($arch eq 'armv7l') {
|
||||
# Treat armv7l as armel.
|
||||
$arch='armel';
|
||||
}
|
||||
elsif ($arch eq 'aarch64') {
|
||||
# Treat aarch64 as arm64.
|
||||
$arch='arm64';
|
||||
}
|
||||
elsif ($arch eq 'parisc') {
|
||||
$arch='hppa';
|
||||
}
|
||||
elsif ($arch eq 'ppc64le') {
|
||||
$arch='ppc64el';
|
||||
}
|
||||
|
||||
$this->{arch}=$arch;
|
||||
}
|
||||
@@ -602,6 +775,12 @@ sub arch {
|
||||
elsif ($arch eq 'all') {
|
||||
$arch='noarch';
|
||||
}
|
||||
elsif ($arch eq 'arm64') {
|
||||
$arch='aarch64';
|
||||
}
|
||||
elsif ($arch eq 'ppc64el') {
|
||||
$arch='ppc64le';
|
||||
}
|
||||
|
||||
return $arch
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ character, I=unsigned integer.)
|
||||
=item footer_version
|
||||
|
||||
What package format are we up to now? (Lowest one this is still
|
||||
compatable with.)
|
||||
compatible with.)
|
||||
|
||||
=item archtrans
|
||||
|
||||
@@ -93,7 +93,7 @@ Holds the slp package format version of the slp file.
|
||||
|
||||
=item checkfile
|
||||
|
||||
Detect slp files by their extention.
|
||||
Detect slp files by their extension.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -166,7 +166,7 @@ sub scan {
|
||||
# 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 @@ sub scan {
|
||||
$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;
|
||||
}
|
||||
@@ -270,7 +270,7 @@ Set/get conffiles.
|
||||
|
||||
When the conffiles are set, the format used by slp (a colon-delimited list)
|
||||
is turned into the real list that is used internally. The list is changed
|
||||
back into slp's internal format when it is retreived.
|
||||
back into slp's internal format when it is retrieved.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -291,7 +291,7 @@ Set/get copyright.
|
||||
|
||||
When the copyright is set, the number used by slp is changed into a textual
|
||||
description. This is changed back into a number when the value is
|
||||
retreived.
|
||||
retrieved.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -315,7 +315,7 @@ Set/get arch.
|
||||
|
||||
When the arch is set, the number used by slp is changed into a textual
|
||||
description. This is changed back into a number when the value is
|
||||
retreived.
|
||||
retrieved.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -341,7 +341,7 @@ sub arch {
|
||||
|
||||
Set/get release version.
|
||||
|
||||
When the release version is retreived, it is converted to an unsigned
|
||||
When the release version is retrieved, it is converted to an unsigned
|
||||
integer, as is required by the slp package format.
|
||||
|
||||
=cut
|
||||
@@ -358,6 +358,8 @@ sub release {
|
||||
}
|
||||
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Joey Hess <joey@kitenet.net>
|
||||
|
||||
@@ -9,10 +9,15 @@ Alien::Package::Tgz - an object that represents a tgz package
|
||||
package Alien::Package::Tgz;
|
||||
use strict;
|
||||
use base qw(Alien::Package);
|
||||
use Cwd qw(abs_path);
|
||||
use Alien::Package::Rpm qw(arch);
|
||||
|
||||
my $tarext=qr/\.(?:tgz|tar(?:\.(?:gz|Z|z|bz|bz2))?|taz)$/;
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This is an object class that represents a tgz package, as used in Slackware.
|
||||
It also allows conversion of raw tar files.
|
||||
It is derived from Alien::Package.
|
||||
|
||||
=head1 CLASS DATA
|
||||
@@ -41,7 +46,7 @@ use constant scripttrans => {
|
||||
|
||||
=item checkfile
|
||||
|
||||
Detect tgz files by their extention.
|
||||
Detect tgz files by their extension.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -49,7 +54,7 @@ sub checkfile {
|
||||
my $this=shift;
|
||||
my $file=shift;
|
||||
|
||||
return $file =~ m/.*\.(?:tgz|tar\.(?:gz|Z|z)|taz)$/;
|
||||
return $file =~ m/$tarext$/;
|
||||
}
|
||||
|
||||
=item install
|
||||
@@ -92,10 +97,10 @@ sub scan {
|
||||
# Get basename of the filename.
|
||||
my ($basename)=('/'.$file)=~m#^/?.*/(.*?)$#;
|
||||
|
||||
# Strip out any tar extentions.
|
||||
$basename=~s/\.(tgz|tar\.(gz|Z))$//;
|
||||
# Strip out any tar extensions.
|
||||
$basename=~s/$tarext//;
|
||||
|
||||
if ($basename=~m/(.*)-(.*?[0-9]+.*)/) {
|
||||
if ($basename=~m/([\w-]+)-([0-9\.?]+).*/) {
|
||||
$this->name($1);
|
||||
$this->version($2);
|
||||
}
|
||||
@@ -106,20 +111,104 @@ sub scan {
|
||||
|
||||
$this->arch('all');
|
||||
|
||||
$this->summary("Converted Slackware tgz package");
|
||||
# Attempt to extract slack-desc
|
||||
my $slack_desc_content = $this->runpipe(1, "tar Oxf '$file' install/slack-desc 2>/dev/null");
|
||||
my $pkg_name = $this->name(); # Get package name early
|
||||
|
||||
if ($slack_desc_content && $slack_desc_content =~ /\S/) {
|
||||
my @slack_lines = split /\n/, $slack_desc_content;
|
||||
|
||||
# Default values if parsing fails or parts are missing
|
||||
my $default_summary_text = "Package from tgz file (slack-desc found)";
|
||||
my $default_description_text = "Package from tgz file (slack-desc found)";
|
||||
$this->summary($default_summary_text);
|
||||
$this->description($default_description_text);
|
||||
|
||||
my $summary_parsed_successfully = 0;
|
||||
|
||||
if (@slack_lines) {
|
||||
my $first_line = $slack_lines[0]; # Peek at first line
|
||||
# Try to parse summary from the first line using the strict format
|
||||
if ($first_line =~ /^\Q$pkg_name\E: \Q$pkg_name\E \((.+)\)\s*$/) {
|
||||
my $summary_candidate = $1;
|
||||
if ($summary_candidate =~ /\S/) { # Check if captured summary is not just whitespace
|
||||
$this->summary($summary_candidate);
|
||||
$this->description($summary_candidate); # Initial guess for description
|
||||
shift @slack_lines; # Consume the line as it was successfully parsed
|
||||
$summary_parsed_successfully = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Description Parsing from remaining lines (or all lines if summary parse failed)
|
||||
my @description_parts;
|
||||
my $expected_prefix_regex = qr/^\Q$pkg_name\E: /; # $pkg_name: <text>
|
||||
my $paragraph_break_regex = qr/^\Q$pkg_name\E:$/; # $pkg_name:
|
||||
|
||||
foreach my $line (@slack_lines) {
|
||||
if ($line =~ $paragraph_break_regex) {
|
||||
push @description_parts, ""; # Paragraph break
|
||||
} elsif ((my $desc_content = $line) =~ s/$expected_prefix_regex//) {
|
||||
# Prefix was stripped, $desc_content now holds the rest
|
||||
push @description_parts, $desc_content;
|
||||
} else {
|
||||
# Line does not match strict format, ignore it for description.
|
||||
# This handles cases where the first line was not a valid summary
|
||||
# and is now being re-evaluated here but doesn't fit description format either.
|
||||
}
|
||||
}
|
||||
|
||||
if (@description_parts) {
|
||||
my $parsed_description = join("\n", @description_parts);
|
||||
# Remove leading/trailing empty lines from the final description block
|
||||
$parsed_description =~ s/^\n+//;
|
||||
$parsed_description =~ s/\n+$/\n/; # Keep single trailing newline if content, or make it one if many
|
||||
$parsed_description =~ s/\s+$//; # Trim trailing whitespace overall, including last newline if it was just that
|
||||
|
||||
if ($parsed_description =~ /\S/) {
|
||||
$this->description($parsed_description);
|
||||
# If summary is still the generic default, but we have a description,
|
||||
# try to set summary from the first line of this description.
|
||||
if ($this->summary() eq $default_summary_text) {
|
||||
my ($first_desc_line) = split /\n/, $parsed_description;
|
||||
if ($first_desc_line && length($first_desc_line) < 100 && $first_desc_line =~ /\S/) {
|
||||
$this->summary($first_desc_line);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
# Description parts were found but resulted in an empty string (e.g. only paragraph markers)
|
||||
# Revert to summary if summary was good, or default if summary was also default.
|
||||
if ($summary_parsed_successfully) {
|
||||
$this->description($this->summary());
|
||||
} else {
|
||||
$this->description($default_description_text); # Keep default
|
||||
}
|
||||
}
|
||||
} elsif (!$summary_parsed_successfully) {
|
||||
# No description parts AND summary was not parsed successfully means slack-desc was
|
||||
# present but entirely unparsable or empty after the first line (if any).
|
||||
# Summary and Description remain $default_summary_text.
|
||||
}
|
||||
# If summary was parsed but no description lines, description is already set to summary.
|
||||
|
||||
} else {
|
||||
# Original behavior if slack-desc is not found or empty
|
||||
$this->summary("Converted tgz package");
|
||||
$this->description($this->summary);
|
||||
}
|
||||
|
||||
$this->copyright('unknown');
|
||||
$this->release(1);
|
||||
$this->distribution("Slackware");
|
||||
$this->distribution("Slackware/tarball");
|
||||
$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.
|
||||
my @conffiles;
|
||||
open (FILELIST,"tar zvtf $file | grep etc/ |") ||
|
||||
open (FILELIST,"tar vtf $file | grep etc/ |") ||
|
||||
die "getting filelist: $!";
|
||||
while (<FILELIST>) {
|
||||
# Make sure it's a normal file. This is looking at the
|
||||
@@ -136,7 +225,7 @@ sub scan {
|
||||
# Now get the whole filelist. We have to add leading /'s to the
|
||||
# filenames. We have to ignore all files under /install/
|
||||
my @filelist;
|
||||
open (FILELIST, "tar ztf $file |") ||
|
||||
open (FILELIST, "tar tf $file |") ||
|
||||
die "getting filelist: $!";
|
||||
while (<FILELIST>) {
|
||||
chomp;
|
||||
@@ -148,7 +237,7 @@ sub scan {
|
||||
|
||||
# Now get the scripts.
|
||||
foreach my $script (keys %{scripttrans()}) {
|
||||
$this->$script(scalar $this->runpipe(1, "tar Oxzf $file install/${scripttrans()}{$script} 2>/dev/null"));
|
||||
$this->$script(scalar $this->runpipe(1, "tar Oxf '$file' install/${scripttrans()}{$script} 2>/dev/null"));
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -163,9 +252,9 @@ Unpack tgz.
|
||||
sub unpack {
|
||||
my $this=shift;
|
||||
$this->SUPER::unpack(@_);
|
||||
my $file=$this->filename;
|
||||
my $file=abs_path($this->filename);
|
||||
|
||||
$this->do("cat $file | (cd ".$this->unpacked_tree."; tar zxpf -)")
|
||||
$this->do("cd ".$this->unpacked_tree."; tar xpf $file")
|
||||
or die "Unpacking of '$file' failed: $!";
|
||||
# Delete the install directory that has slackware info in it.
|
||||
$this->do("cd ".$this->unpacked_tree."; rm -rf ./install");
|
||||
@@ -173,6 +262,161 @@ sub unpack {
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Helper function for _format_slack_desc
|
||||
sub _format_slack_desc_section {
|
||||
my ($pkgname, $text_content, $num_target_lines, $max_total_line_length) = @_;
|
||||
|
||||
my $line_prefix_with_space = "$pkgname: ";
|
||||
my $line_prefix_no_space = "$pkgname:";
|
||||
# Max length for the actual content, after the prefix
|
||||
my $max_content_len = $max_total_line_length - length($line_prefix_with_space);
|
||||
# Ensure max_content_len is somewhat reasonable if pkgname is very long
|
||||
$max_content_len = 10 if $max_content_len < 10;
|
||||
|
||||
my @formatted_lines;
|
||||
$text_content = "" if !defined $text_content; # Ensure defined
|
||||
|
||||
my @segments = split /\n/, $text_content;
|
||||
# If text_content was empty, split results in one empty segment.
|
||||
# If text_content ended with \n, split might produce an extra empty segment.
|
||||
# We want to preserve intentional paragraph breaks (empty segments from \n\n).
|
||||
|
||||
# Special case: if text_content is completely empty, segments will be [""]
|
||||
# and num_target_lines is 1, it should produce one "$pkgname:" line.
|
||||
# If text_content is non-empty but results in no words (e.g. " \n "),
|
||||
# it should also be handled gracefully.
|
||||
|
||||
SEGMENT: foreach my $segment (@segments) {
|
||||
last SEGMENT if scalar(@formatted_lines) >= $num_target_lines;
|
||||
|
||||
# Trim whitespace from segment. If it becomes empty, it's a paragraph break.
|
||||
$segment =~ s/^\s+|\s+$//g;
|
||||
|
||||
if ($segment eq "") {
|
||||
push @formatted_lines, $line_prefix_no_space;
|
||||
next SEGMENT;
|
||||
}
|
||||
|
||||
my @words = split /\s+/, $segment;
|
||||
next SEGMENT if !@words; # Should not happen if segment was non-empty after trim
|
||||
|
||||
my $current_line_buffer = ""; # Holds content part of the line
|
||||
|
||||
WORD: foreach my $word (@words) {
|
||||
if (scalar(@formatted_lines) >= $num_target_lines && $current_line_buffer eq "") {
|
||||
# Already filled target lines and current buffer for this segment is empty
|
||||
last SEGMENT;
|
||||
}
|
||||
# Check if a single word itself is too long
|
||||
if (length($word) > $max_content_len) {
|
||||
# If buffer has content, push it first
|
||||
if ($current_line_buffer ne "") {
|
||||
last SEGMENT if scalar(@formatted_lines) >= $num_target_lines;
|
||||
push @formatted_lines, $line_prefix_with_space . $current_line_buffer;
|
||||
$current_line_buffer = "";
|
||||
}
|
||||
# Push the long word, truncated, on its own line
|
||||
last SEGMENT if scalar(@formatted_lines) >= $num_target_lines;
|
||||
push @formatted_lines, $line_prefix_with_space . substr($word, 0, $max_content_len);
|
||||
# The rest of the word is lost, as per typical shell script behavior (often implicit)
|
||||
# Or, decide if $word should become the remainder: $word = substr($word, $max_content_len); and re-evaluate
|
||||
# For now, simply truncating and moving to next word in input.
|
||||
# Given the spec, it's more about fitting, so a very long word will just fill one line.
|
||||
next WORD; # Move to next word, current long word handled.
|
||||
}
|
||||
|
||||
if ($current_line_buffer eq "") {
|
||||
$current_line_buffer = $word;
|
||||
} else {
|
||||
my $potential_line = $current_line_buffer . " " . $word;
|
||||
if (length($potential_line) <= $max_content_len) {
|
||||
$current_line_buffer = $potential_line;
|
||||
} else {
|
||||
last SEGMENT if scalar(@formatted_lines) >= $num_target_lines;
|
||||
push @formatted_lines, $line_prefix_with_space . $current_line_buffer;
|
||||
$current_line_buffer = $word;
|
||||
}
|
||||
}
|
||||
}# end WORD loop
|
||||
|
||||
# Push any remaining content in buffer for the current segment
|
||||
if ($current_line_buffer ne "") {
|
||||
last SEGMENT if scalar(@formatted_lines) >= $num_target_lines;
|
||||
push @formatted_lines, $line_prefix_with_space . $current_line_buffer;
|
||||
}
|
||||
|
||||
} # end SEGMENT loop
|
||||
|
||||
# Pad with "$pkgname:" or truncate to meet exactly $num_target_lines
|
||||
while (scalar(@formatted_lines) < $num_target_lines) {
|
||||
push @formatted_lines, $line_prefix_no_space;
|
||||
}
|
||||
if (scalar(@formatted_lines) > $num_target_lines) {
|
||||
@formatted_lines = @formatted_lines[0 .. $num_target_lines - 1];
|
||||
}
|
||||
|
||||
return @formatted_lines;
|
||||
}
|
||||
|
||||
sub _format_slack_desc {
|
||||
my $this = shift;
|
||||
|
||||
my $pkgname = $this->name() || "unknown"; # Should usually be defined
|
||||
my $summary = $this->summary();
|
||||
my $description = $this->description();
|
||||
my $homepage_url = ""; # Fixed as per requirement
|
||||
|
||||
# Ensure summary is a single, trimmed line
|
||||
$summary = "" if !defined $summary;
|
||||
$summary =~ s/\n.*//s; # Keep only the first line
|
||||
$summary =~ s/^\s+|\s+$//g; # Trim whitespace
|
||||
$summary = "No summary" if $summary eq "";
|
||||
|
||||
|
||||
$description = "" if !defined $description;
|
||||
# Newlines in description are paragraph separators, handled by _format_slack_desc_section
|
||||
|
||||
my $screen_width = 72 + length($pkgname);
|
||||
|
||||
my $ruler_header = "# HOW TO EDIT THIS FILE:\n# The \"handy ruler\" below makes it easier to edit a package description.\n# Line up the first '|' above the ':' following the base package name, and\n# the '|' on the right side marks the last column you can put a character in.\n# You must make exactly 11 lines for the formatting to be correct. It's also\n# customary to leave one space after the ':' except on otherwise blank lines.\n\n";
|
||||
|
||||
my $ruler_gap = ' ' x length($pkgname);
|
||||
my $ruler_base = $ruler_gap . "|-----handy-ruler--";
|
||||
# Screen width is total, ruler includes the final '|', so -1 from screen_width for filling
|
||||
my $ruler_fill_count = $screen_width - 1 - length($ruler_base);
|
||||
$ruler_fill_count = 0 if $ruler_fill_count < 0; # Ensure not negative
|
||||
my $ruler_line = $ruler_base . ('-' x $ruler_fill_count) . '|';
|
||||
|
||||
my $complete_ruler_block = $ruler_header . $ruler_line . "\n";
|
||||
|
||||
# Section 1: Summary (1 line)
|
||||
# The format "$pkgname ($summary)" is part of the text_content for this section
|
||||
my $summary_content_for_section = "$pkgname ($summary)";
|
||||
my @summary_section = _format_slack_desc_section($pkgname, $summary_content_for_section, 1, $screen_width);
|
||||
|
||||
# Section 2: Empty line (1 line)
|
||||
# This is effectively an empty paragraph
|
||||
my @empty_section = _format_slack_desc_section($pkgname, "", 1, $screen_width);
|
||||
# Ensure it's just "$pkgname:" as per spec for empty lines
|
||||
$empty_section[0] = "$pkgname:" if @empty_section;
|
||||
|
||||
|
||||
# Section 3: Description (8 lines)
|
||||
my @description_section = _format_slack_desc_section($pkgname, $description, 8, $screen_width);
|
||||
|
||||
# Section 4: Homepage (1 line)
|
||||
my @homepage_section = _format_slack_desc_section($pkgname, $homepage_url, 1, $screen_width);
|
||||
# Ensure it's just "$pkgname:" if homepage_url is empty
|
||||
if ($homepage_url eq "" && @homepage_section) {
|
||||
$homepage_section[0] = "$pkgname:";
|
||||
}
|
||||
|
||||
|
||||
my $all_content_lines = join("\n", @summary_section, @empty_section, @description_section, @homepage_section);
|
||||
|
||||
return $complete_ruler_block . $all_content_lines . "\n";
|
||||
}
|
||||
|
||||
=item prep
|
||||
|
||||
Adds a populated install directory to the build tree.
|
||||
@@ -182,16 +426,41 @@ Adds a populated install directory to the build tree.
|
||||
sub prep {
|
||||
my $this=shift;
|
||||
my $dir=$this->unpacked_tree || die "The package must be unpacked first!";
|
||||
|
||||
my $install_dir = $dir."/install";
|
||||
my $install_made=0;
|
||||
|
||||
# Check if install directory already exists (e.g. from unpacking)
|
||||
if (-d $install_dir) {
|
||||
$install_made = 1;
|
||||
}
|
||||
|
||||
# Generate and write slack-desc if description is meaningful
|
||||
my $description = $this->description();
|
||||
my $summary = $this->summary();
|
||||
if (defined $description && $description =~ /\S/ && $description ne "Converted tgz package" && $description ne $summary) {
|
||||
my $slack_desc_content = $this->_format_slack_desc();
|
||||
if ($slack_desc_content && $slack_desc_content =~ /\S/) {
|
||||
if (!$install_made) {
|
||||
mkdir($install_dir, 0755)
|
||||
|| die "unable to mkdir $install_dir: $!";
|
||||
$install_made=1;
|
||||
}
|
||||
my $slack_desc_path = $install_dir."/slack-desc";
|
||||
open (SLACKDESC, ">$slack_desc_path") || die "Unable to open $slack_desc_path for writing: $!";
|
||||
print SLACKDESC $slack_desc_content;
|
||||
close SLACKDESC;
|
||||
chmod(0644, $slack_desc_path) || $this->warn("Could not chmod $slack_desc_path: $!");
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->usescripts) {
|
||||
foreach my $script (keys %{scripttrans()}) {
|
||||
my $data=$this->$script();
|
||||
my $out=$this->unpacked_tree."/install/".${scripttrans()}{$script};
|
||||
my $out=$install_dir."/".${scripttrans()}{$script};
|
||||
next if ! defined $data || $data =~ m/^\s*$/;
|
||||
if (!$install_made) {
|
||||
mkdir($this->unpacked_tree."/install", 0755)
|
||||
|| die "unable to mkdir ".$this->unpacked_tree."/install: $!";
|
||||
mkdir($install_dir, 0755)
|
||||
|| die "unable to mkdir $install_dir: $!";
|
||||
$install_made=1;
|
||||
}
|
||||
open (OUT, ">$out") || die "$out: $!";
|
||||
@@ -210,14 +479,23 @@ Build a tgz.
|
||||
|
||||
sub build {
|
||||
my $this=shift;
|
||||
my $tgz=$this->name."-".$this->version.".tgz";
|
||||
|
||||
$this->do("cd ".$this->unpacked_tree."; tar czf ../$tgz .")
|
||||
or die "Package build failed";
|
||||
|
||||
my $arch = Alien::Package::Rpm::arch($this, @_);
|
||||
my $tgz=$this->name."-".$this->version."-".$arch."-1_alien.tgz";
|
||||
if (-x "/sbin/makepkg") {
|
||||
my $v=$Alien::Package::verbose;
|
||||
$Alien::Package::verbose=2;
|
||||
$this->do("cd ".$this->unpacked_tree."; makepkg -l y -c n ../$tgz .")
|
||||
or die "Unable to make pkg";
|
||||
$Alien::Package::verbose=$v;
|
||||
}
|
||||
else {
|
||||
die "Sorry, I cannot generate the .tgz file because /sbin/makepkg is not present.\n"
|
||||
}
|
||||
return $tgz;
|
||||
}
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Joey Hess <joey@kitenet.net>
|
||||
|
||||
@@ -19,20 +19,11 @@ VER=$(shell perl -e '$$_=<>;print m/\((.*?)\)/'<debian/changelog)
|
||||
|
||||
all:: extra_build
|
||||
clean:: extra_build
|
||||
install:: extra_install
|
||||
pure_install:: extra_install
|
||||
|
||||
extra_build:
|
||||
perl -i -pe "s/\@version\@/$(VER)/g" <alien.lsm.in >alien.lsm
|
||||
perl -i -pe "s/\@version\@/$(VER)/g" <alien.spec.in >alien.spec
|
||||
|
||||
extra_install:
|
||||
install -d $(PREFIX)/share/alien/patches \
|
||||
$(VARPREFIX)/var/lib/alien
|
||||
cp -f patches/*.diff $(PREFIX)/share/alien/patches/
|
||||
-rm -f $(PREFIX)/share/alien/patches/*.gz
|
||||
gzip -qf9 $(PREFIX)/share/alien/patches/*
|
||||
|
||||
alien:
|
||||
perl -pe '$$_="" if /use lib/; $$_="our \$$Version=\"$(VER)\";\n" if /VERSION_AUTOREPLACE/' alien.pl > alien
|
||||
}
|
||||
|
||||
14
alien.lsm
Normal file
14
alien.lsm
Normal file
@@ -0,0 +1,14 @@
|
||||
Begin3
|
||||
Title: alien
|
||||
Version: 8.95.2
|
||||
Entered-date: 31MAR97
|
||||
Description: Alien converts Slackware .tgz packages, Red Hat .rpm packages,
|
||||
Debian .deb packages, and Stampede .slp packages. It can
|
||||
convert from any of the formats to any other format. It works
|
||||
only on binary packages. It also support LSB packages.
|
||||
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.95.2.tar.gz
|
||||
Copying-policy: GPL
|
||||
End
|
||||
89
alien.pl
89
alien.pl
@@ -37,7 +37,7 @@ installed.
|
||||
|
||||
=item lsb
|
||||
|
||||
Unlike the other package formats, B<alien> can handle the depenendencies of
|
||||
Unlike the other package formats, B<alien> can handle the dependencies of
|
||||
lsb packages if the destination package format supports dependencies. Note
|
||||
that this means that the package generated from a lsb package will depend on
|
||||
a package named "lsb" -- your distribution should provide a package by that
|
||||
@@ -67,6 +67,9 @@ standard linux directory tree. Do NOT run B<alien> on tar files with source
|
||||
code in them, unless you want this source code to be installed in your root
|
||||
directory when you install the package!
|
||||
|
||||
When using B<alien> to convert a tgz package, all files in /etc in are assumed
|
||||
to be configuration files.
|
||||
|
||||
=item pkg
|
||||
|
||||
To manipulate packages in the Solaris pkg format (which is really the SV
|
||||
@@ -127,35 +130,6 @@ Like B<-g>, but do not generate the packagename.orig directory. This is only
|
||||
useful when you are very low on disk space and are generating a debian
|
||||
package.
|
||||
|
||||
=item B<--patch=>I<patch>
|
||||
|
||||
Specify the patch to be used instead of automatically looking the patch up
|
||||
in B</var/lib/alien>. This has no effect unless a debian package is being
|
||||
built.
|
||||
|
||||
=item B<--anypatch>
|
||||
|
||||
Be less strict about which patch file is used, perhaps attempting to use a patch
|
||||
file for an older verson of the package. This is not guaranteed to always work;
|
||||
older patches may not necessarily work with newer packages.
|
||||
|
||||
=item B<--nopatch>
|
||||
|
||||
Do not use any patch files.
|
||||
|
||||
=item B<--description=>I<desc>
|
||||
|
||||
Specifiy a description for the package. This only has an effect when
|
||||
converting from the tgz package format, which lacks descriptions.
|
||||
|
||||
=item B<--version=>I<version>
|
||||
|
||||
Specifiy a version for the package. This only has an effect when
|
||||
converting from the tgz package format, which may lack version
|
||||
information.
|
||||
|
||||
Note that without an argument, this displays the version of B<alien> instead.
|
||||
|
||||
=item B<-c>, B<--scripts>
|
||||
|
||||
Try to convert the scripts that are meant to be run when the
|
||||
@@ -166,6 +140,35 @@ and check to see what they do before using this option.
|
||||
|
||||
This is enabled by default when converting from lsb packages.
|
||||
|
||||
=item B<--patch=>I<patch>
|
||||
|
||||
Specify the patch to be used instead of automatically looking the patch up
|
||||
in B</var/lib/alien>. This has no effect unless a debian package is being
|
||||
built.
|
||||
|
||||
=item B<--anypatch>
|
||||
|
||||
Be less strict about which patch file is used, perhaps attempting to use a patch
|
||||
file for an older version of the package. This is not guaranteed to always work;
|
||||
older patches may not necessarily work with newer packages.
|
||||
|
||||
=item B<--nopatch>
|
||||
|
||||
Do not use any patch files.
|
||||
|
||||
=item B<--description=>I<desc>
|
||||
|
||||
Specify a description for the package. This only has an effect when
|
||||
converting from the tgz package format, which lacks descriptions.
|
||||
|
||||
=item B<--version=>I<version>
|
||||
|
||||
Specify a version for the package. This only has an effect when
|
||||
converting from the tgz package format, which may lack version
|
||||
information.
|
||||
|
||||
Note that without an argument, this displays the version of B<alien> instead.
|
||||
|
||||
=item B<-T>, B<--test>
|
||||
|
||||
Test the generated packages. Currently this is only supported for debian
|
||||
@@ -190,6 +193,10 @@ some things to mess with their permissions and owners to the degree this does,
|
||||
so it defaults to off. This can only be used when converting to debian
|
||||
packages.
|
||||
|
||||
=item B<--target=>I<architecture>
|
||||
|
||||
Force the architecture of the generated package to the given string.
|
||||
|
||||
=item B<-v>, B<--verbose>
|
||||
|
||||
Be verbose: Display each command B<alien> runs in the process of converting a
|
||||
@@ -239,11 +246,11 @@ all 4 package formats.
|
||||
|
||||
=head1 ENVIRONMENT
|
||||
|
||||
B<alien> recognizes the following environemnt variables:
|
||||
B<alien> recognizes the following environment variables:
|
||||
|
||||
=over 4
|
||||
|
||||
=item RPMBUILDOPTS
|
||||
=item RPMBUILDOPT
|
||||
|
||||
Options to pass to rpm when it is building a package.
|
||||
|
||||
@@ -258,14 +265,6 @@ included in generated debian packages.
|
||||
|
||||
=back
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
When using B<alien> to convert a tgz package, all files in /etc in are assumed
|
||||
to be configuration files.
|
||||
|
||||
If B<alien> is not run as root, the files in the generated package will have
|
||||
incorrect owners and permissions.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
B<alien> was written by Christoph Lameter, B<<clameter@debian.org>>.
|
||||
@@ -335,6 +334,7 @@ Usage: alien [options] file [...]
|
||||
-i, --install Install generated package.
|
||||
-g, --generate Generate build tree, but do not build package.
|
||||
-c, --scripts Include scripts in package.
|
||||
--target=<arch> Set architecture of the generated package.
|
||||
-v, --verbose Display each command alien runs.
|
||||
--veryverbose Be verbose, and also display output of run commands.
|
||||
-k, --keep-version Do not change version of generated package.
|
||||
@@ -349,7 +349,7 @@ EOF
|
||||
# Start by processing the parameters.
|
||||
my (%destformats, $generate, $install, $single, $scripts, $patchfile,
|
||||
$nopatch, $tgzdescription, $tgzversion, $keepversion, $fixperms,
|
||||
$test, $anypatch);
|
||||
$test, $anypatch, $target);
|
||||
my $versionbump=1;
|
||||
|
||||
# Bundling is nice anyway, and it is required or Getopt::Long will confuse
|
||||
@@ -371,6 +371,7 @@ GetOptions(
|
||||
"patch=s" => \$patchfile,
|
||||
"nopatch" => \$nopatch,
|
||||
"anypatch" => \$anypatch,
|
||||
"target=s" => \$target,
|
||||
"description=s" => \$tgzdescription,
|
||||
"V" => \&version,
|
||||
"version:s" => sub { length $_[1] ? $tgzversion=$_[1] : version() },
|
||||
@@ -451,6 +452,10 @@ foreach my $file (@ARGV) {
|
||||
die "Unknown type of package, $file.\n";
|
||||
}
|
||||
|
||||
if ($target) {
|
||||
$package->arch($target);
|
||||
}
|
||||
|
||||
if (! $package->usescripts && $package->scripts) {
|
||||
$package->usescripts($scripts);
|
||||
if (! $scripts) {
|
||||
@@ -513,7 +518,7 @@ foreach my $file (@ARGV) {
|
||||
# Make sure $package does not wipe out the
|
||||
# directory when it is destroyed.
|
||||
$package->unpacked_tree('');
|
||||
exit;
|
||||
next;
|
||||
}
|
||||
|
||||
my $newfile=$package->build;
|
||||
|
||||
34
alien.spec
Normal file
34
alien.spec
Normal file
@@ -0,0 +1,34 @@
|
||||
Summary: Install Debian, Slackware, and Stampede packages with rpm.
|
||||
Name: alien
|
||||
Packager: Joey Hess <joey@kitenet.net>
|
||||
Version: 8.95.2
|
||||
Release: 1
|
||||
Source: ftp://kitenet.net/pub/code/debian/alien_8.95.2.tar.gz
|
||||
License: GPL
|
||||
Group: Utilities/File
|
||||
Buildroot: /tmp/alien-8.95.2.build
|
||||
Requires: perl
|
||||
BuildArchitectures: noarch
|
||||
|
||||
%description
|
||||
Alien allows you to convert Debian, Slackware, and Stampede Packages into Red
|
||||
Hat packages, which can be installed with rpm.
|
||||
|
||||
It can also generate Slackware, Debian and Stampede packages.
|
||||
|
||||
This is a tool only suitable for binary packages.
|
||||
|
||||
%prep
|
||||
%setup -n alien
|
||||
rm -rf /tmp/alien-8.95.2.build
|
||||
|
||||
%install
|
||||
perl Makefile.PL PREFIX=$RPM_BUILD_ROOT/usr
|
||||
make
|
||||
make pure_install VARPREFIX=$RPM_BUILD_ROOT
|
||||
find $RPM_BUILD_ROOT -not -type d -printf "/%%P\n" | \
|
||||
sed '/\/man\//s/$/\*/' > manifest
|
||||
|
||||
%files -f manifest
|
||||
%defattr(-,root,root)
|
||||
%doc debian/changelog GPL README alien.lsm
|
||||
2506
debian/changelog
vendored
2506
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
1
debian/compat
vendored
1
debian/compat
vendored
@@ -1 +0,0 @@
|
||||
4
|
||||
21
debian/control
vendored
21
debian/control
vendored
@@ -1,21 +0,0 @@
|
||||
Source: alien
|
||||
Section: admin
|
||||
Priority: optional
|
||||
Build-Depends: debhelper (>= 4)
|
||||
Maintainer: Joey Hess <joeyh@debian.org>
|
||||
Standards-Version: 3.7.3
|
||||
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
|
||||
Suggests: patch, bzip2, lsb-rpm, lintian
|
||||
Description: convert and install rpm and other packages
|
||||
Alien allows you to convert LSB, Red Hat, Stampede and Slackware Packages
|
||||
into Debian packages, which can be installed with dpkg.
|
||||
.
|
||||
It can also generate packages of any of the other formats.
|
||||
.
|
||||
This is a tool only suitable for binary packages.
|
||||
35
debian/copyright
vendored
35
debian/copyright
vendored
@@ -1,35 +0,0 @@
|
||||
This is a program originally written by Christoph Lameter
|
||||
<clameter@debian.org>.
|
||||
|
||||
Deb to rpm conversion code was taken from the Martian program by
|
||||
Randolph Chung <randolph@tausq.org>.
|
||||
|
||||
The Solaris pkg code was written by Mark A. Hershberger
|
||||
<mah@everybody.org>.
|
||||
|
||||
This program is now maintained by Joey Hess <joeyh@debian.org>.
|
||||
|
||||
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.
|
||||
|
||||
47
debian/rules
vendored
47
debian/rules
vendored
@@ -1,47 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
build: build-stamp
|
||||
build-stamp:
|
||||
dh_testdir
|
||||
perl Makefile.PL
|
||||
$(MAKE)
|
||||
# simple smoke test
|
||||
./alien.pl -V
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
rm -f build-stamp
|
||||
perl Makefile.PL
|
||||
if [ -e Makefile ]; then $(MAKE) realclean; fi
|
||||
dh_clean
|
||||
|
||||
binary-arch: build
|
||||
|
||||
binary-indep: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k
|
||||
$(MAKE) pure_install INSTALLDIRS=vendor \
|
||||
PREFIX=$(shell pwd)/debian/alien/$(shell perl -MConfig -e 'print $$Config{prefix}') \
|
||||
VARPREFIX=$(shell pwd)/debian/alien
|
||||
# Why does it make this empty directory? Sigh.
|
||||
rm -rf debian/alien/usr/lib
|
||||
dh_installdocs README gendiff.txt
|
||||
dh_installexamples
|
||||
dh_installchangelogs
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_perl
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
# Not intended for use by anyone except the author.
|
||||
announcedir:
|
||||
@echo ${HOME}/src/joeywiki/code/alien/news
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary
|
||||
@@ -1,393 +0,0 @@
|
||||
--- j2sdk-1.4.2_05.orig/debian/dirs
|
||||
+++ j2sdk-1.4.2_05/debian/dirs
|
||||
@@ -0,0 +1,4 @@
|
||||
+usr/share/doc
|
||||
+usr/share/man
|
||||
+usr/lib/netscape/plugins-libc6
|
||||
+usr/lib/mozilla/plugins
|
||||
--- j2sdk-1.4.2_05.orig/debian/control
|
||||
+++ j2sdk-1.4.2_05/debian/control
|
||||
@@ -0,0 +1,24 @@
|
||||
+Source: j2sdk
|
||||
+Section: non-free/devel
|
||||
+Priority: optional
|
||||
+Maintainer: Gerald Turner <gturner@unzane.com>
|
||||
+
|
||||
+Package: j2sdk1.4
|
||||
+Architecture: i386
|
||||
+Depends: ${shlibs:Depends}
|
||||
+Provides: java-common, java-virtual-machine, java-runtime, java2-runtime, java-browser-plugin, java-compiler, java2-compiler, j2sdk1.4, j2re1.4
|
||||
+Suggests: mozilla-browser (>= 1.2.1-10) | netscape
|
||||
+Description: Java(TM) 2 SDK, Standard Edition, Sun Microsystems(TM)
|
||||
+ The Java(TM) 2 SDK is a development environment for building
|
||||
+ applications, applets, and components that can be deployed on the
|
||||
+ Java platform.
|
||||
+ .
|
||||
+ The Java(TM) 2 SDK software includes tools useful for developing and
|
||||
+ testing programs written in the Java programming language and running
|
||||
+ on the Java platform. These tools are designed to be used from the
|
||||
+ command line. Except for appletviewer, these tools do not provide a
|
||||
+ graphical user interface.
|
||||
+ .
|
||||
+ This package has been converted from a rpm package by alien version
|
||||
+ 8.46 using a special diff file to help make the package conform to
|
||||
+ debian policy written by Gerald Turner.
|
||||
--- j2sdk-1.4.2_05.orig/debian/prerm
|
||||
+++ j2sdk-1.4.2_05/debian/prerm
|
||||
@@ -0,0 +1,39 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+case "`uname -m`" in
|
||||
+ i[3-7]86 | ia32 | ia64)
|
||||
+ ARCH=i386
|
||||
+ ;;
|
||||
+ sparc*)
|
||||
+ ARCH=sparc
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ARCH="`uname -m`"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+if [ $1 = remove ]
|
||||
+then
|
||||
+ for i in appletviewer extcheck idlj jar jarsigner java java-rmi.cgi javac \
|
||||
+ javadoc javah javap jdb keytool kinit klist ktab native2ascii \
|
||||
+ orbd policytool rmic rmid rmiregistry serialver servertool \
|
||||
+ tnameserv HtmlConverter
|
||||
+ do
|
||||
+ update-alternatives --remove $i /usr/lib/j2sdk-1.4.2/bin/$i
|
||||
+ done
|
||||
+
|
||||
+ for i in ControlPanel
|
||||
+ do
|
||||
+ update-alternatives --remove $i /usr/lib/j2sdk-1.4.2/jre/bin/$i
|
||||
+ done
|
||||
+
|
||||
+ update-alternatives \
|
||||
+ --remove \
|
||||
+ javaplugin.so \
|
||||
+ /usr/lib/j2sdk-1.4.2/jre/plugin/${ARCH}/ns4/libjavaplugin.so
|
||||
+
|
||||
+ update-alternatives \
|
||||
+ --remove \
|
||||
+ javaplugin_oji.so \
|
||||
+ /usr/lib/j2sdk-1.4.2/jre/plugin/${ARCH}/ns610-gcc32/libjavaplugin_oji.so
|
||||
+fi
|
||||
--- j2sdk-1.4.2_05.orig/debian/rules
|
||||
+++ j2sdk-1.4.2_05/debian/rules
|
||||
@@ -0,0 +1,99 @@
|
||||
+#!/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)
|
||||
+
|
||||
+JAVA_HOME := debian/$(PACKAGE)/usr/lib/j2sdk-1.4.2
|
||||
+MAN_DIR := debian/$(PACKAGE)/usr/share/man
|
||||
+
|
||||
+build:
|
||||
+ dh_testdir
|
||||
+
|
||||
+clean:
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean
|
||||
+
|
||||
+binary-indep: build
|
||||
+
|
||||
+binary-arch: build
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean -k
|
||||
+ dh_installdirs
|
||||
+
|
||||
+# Copy the packages's files.
|
||||
+ find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
|
||||
+ xargs -0 -r -i cp -a {} debian/$(PACKAGE)
|
||||
+
|
||||
+#
|
||||
+# If you need to move files around in debian/$(PACKAGE) or do some
|
||||
+# binary patching, do it here
|
||||
+#
|
||||
+
|
||||
+# Move RPM contents to a proper debian/blackdown directory
|
||||
+ mv debian/$(PACKAGE)/usr/java/j2sdk1.4.2_05 $(JAVA_HOME)
|
||||
+ rmdir debian/$(PACKAGE)/usr/java
|
||||
+
|
||||
+# Move man pages to /usr/share/man
|
||||
+ mv $(JAVA_HOME)/man/* $(MAN_DIR)
|
||||
+ rmdir $(JAVA_HOME)/man
|
||||
+
|
||||
+# Move Japanese man pages further
|
||||
+ rm $(MAN_DIR)/ja
|
||||
+ mv $(MAN_DIR)/ja_JP.eucJP $(MAN_DIR)/ja
|
||||
+ for i in `find $(MAN_DIR) -type f` ; \
|
||||
+ do mv $$i `echo $$i | sed 's/\.\([^.]*\)$$/.j2sdk-1_4_2.\1/'` ; \
|
||||
+ done
|
||||
+
|
||||
+# Unpack tripple compressed jars that showed up in 1.4.2
|
||||
+ if [ -x $(JAVA_HOME)/lib/unpack ] ; then \
|
||||
+ for i in `find $(JAVA_HOME) -name \*.pack` ; do \
|
||||
+ $(JAVA_HOME)/lib/unpack \
|
||||
+ $$i `dirname $$i`/`basename $$i .pack`.jar ; \
|
||||
+ done ; \
|
||||
+ fi
|
||||
+
|
||||
+# Fix ControlPanel shell script incompatibilities
|
||||
+ if [ -f $(JAVA_HOME)/jre/bin/ControlPanel ] ; then \
|
||||
+ sed "s/\/usr\/bin\/ls/\/bin\/ls/g; \
|
||||
+ s/expr \(.*\) : '^/expr \1 : '/;" \
|
||||
+ $(JAVA_HOME)/jre/bin/ControlPanel \
|
||||
+ > $(JAVA_HOME)/jre/bin/ControlPanel.tmp ; \
|
||||
+ mv $(JAVA_HOME)/jre/bin/ControlPanel.tmp \
|
||||
+ $(JAVA_HOME)/jre/bin/ControlPanel ; \
|
||||
+ chmod 755 $(JAVA_HOME)/jre/bin/ControlPanel ; \
|
||||
+ fi
|
||||
+
|
||||
+# Include optional documentation
|
||||
+ if [ -f ../j2sdk-1_4_2-doc.zip ] ; then \
|
||||
+ unzip -q -d debian/$(PACKAGE)/usr/share/doc \
|
||||
+ ../j2sdk-1_4_2-doc.zip ; \
|
||||
+ mv debian/$(PACKAGE)/usr/share/doc/docs \
|
||||
+ debian/$(PACKAGE)/usr/share/doc/$(PACKAGE) ; \
|
||||
+ else \
|
||||
+ echo j2sdk-1_4_2-doc.zip not found, skipping documentation ; \
|
||||
+ fi
|
||||
+
|
||||
+ dh_installdocs
|
||||
+ dh_installchangelogs
|
||||
+
|
||||
+# This has been known to break on some wacky binaries.
|
||||
+# dh_strip
|
||||
+ dh_compress
|
||||
+ dh_fixperms
|
||||
+ dh_makeshlibs
|
||||
+ dh_installdeb
|
||||
+ -dh_shlibdeps
|
||||
+ dh_gencontrol
|
||||
+ dh_md5sums
|
||||
+ dh_builddeb
|
||||
+
|
||||
+binary: binary-indep binary-arch
|
||||
+.PHONY: build clean binary-indep binary-arch binary
|
||||
--- j2sdk-1.4.2_05.orig/debian/changelog
|
||||
+++ j2sdk-1.4.2_05/debian/changelog
|
||||
@@ -0,0 +1,86 @@
|
||||
+j2sdk (2:1.4.2_05-1) unstable; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@unzane.com> Fri, 01 Oct 2004 10:01:53 -0700
|
||||
+
|
||||
+j2sdk (2:1.4.2_03-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Mon, 19 Jan 2004 12:33:32 -0800
|
||||
+
|
||||
+j2sdk (2:1.4.2-1) experimental; urgency=low
|
||||
+
|
||||
+ * Fix ControlPanel shell script incompatibilities. Closes: #200731
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 10 Jul 2003 09:59:23 -0700
|
||||
+
|
||||
+j2sdk (1:1.4.2-1) experimental; urgency=low
|
||||
+
|
||||
+ * alien echoes the wrong filename, "j2sdk_1.4.2-1_i386.deb generated",
|
||||
+ and fails to install when using the -i option. Reverted package name
|
||||
+ j2sdk1.4 to j2sdk. Changed package version to 1 and use an epoch.
|
||||
+ Closes: #199992
|
||||
+ * The intent of the j2sdk1.4 package rename was so that that multiple
|
||||
+ j2sdk versions could be installed simultaneously (i.e. j2sdk1.3).
|
||||
+ This is no longer possible using this patch.
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Sun, 6 Jul 2003 13:39:31 -0700
|
||||
+
|
||||
+j2sdk (1.4.2-6) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Mon, 30 Jun 2003 15:46:47 -0700
|
||||
+
|
||||
+j2sdk (1.4.1_02-5) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Fri, 14 Mar 2003 14:43:45 -0800
|
||||
+
|
||||
+j2sdk (1.4.1_01-4) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Tue, 14 Jan 2003 17:03:09 -0800
|
||||
+
|
||||
+j2sdk (1.4.1-3) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+ * Detection and installation of j2sdk-1_4_1-doc.zip (must be downloaded
|
||||
+ and copied to the same directory where alien is executed)
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Wed, 2 Oct 2002 16:41:24 -0700
|
||||
+
|
||||
+j2sdk (1.4.1-2) experimental; urgency=low
|
||||
+
|
||||
+ * Added java-common Depends
|
||||
+ * Added java-virtual-machine, java2-runtime, java-compiler, and
|
||||
+ java2-compiler Provides
|
||||
+ * Added netscape and mozilla Suggests
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 23 Aug 2002 09:07:09 -0700
|
||||
+
|
||||
+j2sdk (1.4.1-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+ * Detection and installation of j2sdk-1_4_1-rc-doc.zip (must be downloaded
|
||||
+ and copied to the same directory where alien is executed)
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 22 Aug 2002 16:22:33 -0700
|
||||
+
|
||||
+j2sdk (1.4.0_01-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+ * Detection and installation of j2sdk-1_4_0-doc.zip (must be downloaded
|
||||
+ and copied to the same directory where alien is executed)
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 22 Aug 2002 15:44:54 -0700
|
||||
+
|
||||
+j2sdk (1.4.0-1) experimental; urgency=low
|
||||
+
|
||||
+ * Converted from .rpm format to .deb
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Wed, 22 May 2002 12:46:34 -0700
|
||||
--- j2sdk-1.4.2_05.orig/debian/postinst
|
||||
+++ j2sdk-1.4.2_05/debian/postinst
|
||||
@@ -0,0 +1,85 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+case "`uname -m`" in
|
||||
+ i[3-7]86 | ia32 | ia64)
|
||||
+ ARCH=i386
|
||||
+ ;;
|
||||
+ sparc*)
|
||||
+ ARCH=sparc
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ARCH="`uname -m`"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+if [ $1 = configure ]
|
||||
+then
|
||||
+ for i in appletviewer extcheck idlj jar jarsigner java java-rmi.cgi javac \
|
||||
+ javadoc javah javap jdb keytool kinit klist ktab native2ascii \
|
||||
+ orbd policytool rmic rmid rmiregistry serialver servertool \
|
||||
+ tnameserv HtmlConverter
|
||||
+ do
|
||||
+ if [ -e /usr/share/man/man1/$i.j2sdk-1_4_2.1.gz ]
|
||||
+ then
|
||||
+ if [ -e /usr/share/man/ja/man1/$i.j2sdk-1_4_2.1.gz ]
|
||||
+ then
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.4.2/bin/$i \
|
||||
+ 1425 \
|
||||
+ --slave \
|
||||
+ /usr/share/man/man1/$i.1.gz \
|
||||
+ $i.1.gz \
|
||||
+ /usr/share/man/man1/$i.j2sdk-1_4_2.1.gz \
|
||||
+ --slave \
|
||||
+ /usr/share/man/ja/man1/$i.1.gz \
|
||||
+ $i.ja.1.gz \
|
||||
+ /usr/share/man/ja/man1/$i.j2sdk-1_4_2.1.gz
|
||||
+ else
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.4.2/bin/$i \
|
||||
+ 1425 \
|
||||
+ --slave \
|
||||
+ /usr/share/man/man1/$i.1.gz \
|
||||
+ $i.1.gz \
|
||||
+ /usr/share/man/man1/$i.j2sdk-1_4_2.1.gz
|
||||
+ fi
|
||||
+ else
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.4.2/bin/$i \
|
||||
+ 1425
|
||||
+ fi
|
||||
+ done
|
||||
+
|
||||
+ for i in ControlPanel
|
||||
+ do
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.4.2/jre/bin/$i \
|
||||
+ 1425
|
||||
+ done
|
||||
+
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/lib/netscape/plugins-libc6/javaplugin.so \
|
||||
+ javaplugin.so \
|
||||
+ /usr/lib/j2sdk-1.4.2/jre/plugin/${ARCH}/ns4/libjavaplugin.so \
|
||||
+ 1425
|
||||
+
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/lib/mozilla/plugins/javaplugin_oji.so \
|
||||
+ javaplugin_oji.so \
|
||||
+ /usr/lib/j2sdk-1.4.2/jre/plugin/${ARCH}/ns610-gcc32/libjavaplugin_oji.so \
|
||||
+ 1425
|
||||
+fi
|
||||
--- j2sdk-1.4.2_05.orig/debian/copyright
|
||||
+++ j2sdk-1.4.2_05/debian/copyright
|
||||
@@ -0,0 +1,35 @@
|
||||
+This package was debianized by the alien program by converting
|
||||
+a binary .rpm package on Mon, 19 Jan 2004 12:33:32 -0800
|
||||
+
|
||||
+Copyright: 1994-2001 Sun Microsystems, Inc.
|
||||
+
|
||||
+Information from the binary package:
|
||||
+Name : j2sdk Relocations: (not relocateable)
|
||||
+Version : 1.4.2_03 Vendor: Sun Microsystems
|
||||
+Release : fcs Build Date: Tue Nov 18 17:08:10 2003
|
||||
+Install date: (not installed) Build Host: localhost.localdomain
|
||||
+Group : Development/Tools Source RPM: j2sdk-1.4.2_03-fcs.src.rpm
|
||||
+Size : 65744430 License: 1994-2001 Sun Microsystems, Inc.
|
||||
+Packager : Java Software <j2se-comments@java.sun.com>
|
||||
+URL : http://java.sun.com/linux
|
||||
+Summary : Java(TM) 2 Software Development Kit, Standard Edition
|
||||
+Description :
|
||||
+The Java 2 SDK, Standard Edition includes the Java
|
||||
+Virtual Machine, core class libraries and tools used
|
||||
+by programmers to develop Java software applets and
|
||||
+applications. The SDK also provides the foundation
|
||||
+for IDE (Integrated Development Environment) tools
|
||||
+such as Sun's Forte for Java, Community Edition,
|
||||
+the Java(TM) 2 Platform, Enterprise Edition (J2EE),
|
||||
+Java-based application servers and more.
|
||||
+The Java 2 Software Development Kit, SDK, is a
|
||||
+development environment for building applications,
|
||||
+applets, and components that can be deployed on
|
||||
+the Java platform. The Java 2 SDK software includes
|
||||
+tools useful for developing and testing programs
|
||||
+written in the Java programming language and running
|
||||
+on the Java platform. These tools are designed to
|
||||
+be used from the command line. Except for
|
||||
+appletviewer, these tools do not provide a
|
||||
+graphical user interface.
|
||||
+
|
||||
@@ -1,420 +0,0 @@
|
||||
--- jdk-1.5.0.orig/debian/dirs
|
||||
+++ jdk-1.5.0/debian/dirs
|
||||
@@ -0,0 +1,4 @@
|
||||
+usr/share/doc
|
||||
+usr/share/man
|
||||
+usr/lib/netscape/plugins-libc6
|
||||
+usr/lib/mozilla/plugins
|
||||
--- jdk-1.5.0.orig/debian/control
|
||||
+++ jdk-1.5.0/debian/control
|
||||
@@ -0,0 +1,24 @@
|
||||
+Source: jdk
|
||||
+Section: non-free/devel
|
||||
+Priority: optional
|
||||
+Maintainer: Gerald Turner <gturner@unzane.com>
|
||||
+
|
||||
+Package: jdk1.5
|
||||
+Architecture: i386
|
||||
+Depends: ${shlibs:Depends}
|
||||
+Provides: java-common, java-virtual-machine, java-runtime, java2-runtime, java-browser-plugin, java-compiler, java2-compiler, j2sdk1.4, j2re1.4
|
||||
+Suggests: mozilla-browser (>= 1.2.1-10)
|
||||
+Description: Java(TM) 2 SDK, Standard Edition, Sun Microsystems(TM)
|
||||
+ The Java(TM) 2 SDK is a development environment for building
|
||||
+ applications, applets, and components that can be deployed on the
|
||||
+ Java platform.
|
||||
+ .
|
||||
+ The Java(TM) 2 SDK software includes tools useful for developing and
|
||||
+ testing programs written in the Java programming language and running
|
||||
+ on the Java platform. These tools are designed to be used from the
|
||||
+ command line. Except for appletviewer, these tools do not provide a
|
||||
+ graphical user interface.
|
||||
+ .
|
||||
+ This package has been converted from a rpm package by alien version
|
||||
+ 8.46 using a special diff file to help make the package conform to
|
||||
+ debian policy written by Gerald Turner.
|
||||
--- jdk-1.5.0.orig/debian/prerm
|
||||
+++ jdk-1.5.0/debian/prerm
|
||||
@@ -0,0 +1,35 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+case "`uname -m`" in
|
||||
+ i[3-7]86 | ia32 | ia64)
|
||||
+ ARCH=i386
|
||||
+ ;;
|
||||
+ sparc*)
|
||||
+ ARCH=sparc
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ARCH="`uname -m`"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+if [ $1 = remove ]
|
||||
+then
|
||||
+ for i in appletviewer ControlPanel extcheck HtmlConverter idlj jar \
|
||||
+ jarsigner java javac javadoc javah javap java-rmi.cgi javaws \
|
||||
+ jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd \
|
||||
+ keytool kinit klist ktab native2ascii orbd pack200 policytool \
|
||||
+ rmic rmid rmiregistry serialver servertool tnameserv unpack200
|
||||
+ do
|
||||
+ update-alternatives --remove $i /usr/lib/j2sdk-1.5.0/bin/$i
|
||||
+ done
|
||||
+
|
||||
+ for i in apt
|
||||
+ do
|
||||
+ update-alternatives --remove j$i /usr/lib/j2sdk-1.5.0/bin/$i
|
||||
+ done
|
||||
+
|
||||
+ update-alternatives \
|
||||
+ --remove \
|
||||
+ javaplugin_oji.so \
|
||||
+ /usr/lib/j2sdk-1.5.0/jre/plugin/${ARCH}/ns7/libjavaplugin_oji.so
|
||||
+fi
|
||||
--- jdk-1.5.0.orig/debian/rules
|
||||
+++ jdk-1.5.0/debian/rules
|
||||
@@ -0,0 +1,108 @@
|
||||
+#!/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)
|
||||
+
|
||||
+JAVA_HOME := debian/$(PACKAGE)/usr/lib/j2sdk-1.5.0
|
||||
+MAN_DIR := debian/$(PACKAGE)/usr/share/man
|
||||
+
|
||||
+build:
|
||||
+ dh_testdir
|
||||
+
|
||||
+clean:
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean
|
||||
+
|
||||
+binary-indep: build
|
||||
+
|
||||
+binary-arch: build
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean -k
|
||||
+ dh_installdirs
|
||||
+
|
||||
+# Copy the packages's files.
|
||||
+ find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
|
||||
+ xargs -0 -r -i cp -a {} debian/$(PACKAGE)
|
||||
+
|
||||
+#
|
||||
+# If you need to move files around in debian/$(PACKAGE) or do some
|
||||
+# binary patching, do it here
|
||||
+#
|
||||
+
|
||||
+# Move RPM contents to a proper debian/blackdown directory
|
||||
+ mv debian/$(PACKAGE)/usr/java/jdk1.5.0 $(JAVA_HOME)
|
||||
+ rmdir debian/$(PACKAGE)/usr/java
|
||||
+
|
||||
+# Move man pages to /usr/share/man
|
||||
+ mv $(JAVA_HOME)/man/* $(MAN_DIR)
|
||||
+ rmdir $(JAVA_HOME)/man
|
||||
+
|
||||
+# Move Japanese man pages further
|
||||
+ rm $(MAN_DIR)/ja
|
||||
+ mv $(MAN_DIR)/ja_JP.eucJP $(MAN_DIR)/ja
|
||||
+ for i in `find $(MAN_DIR) -type f` ; \
|
||||
+ do mv $$i `echo $$i | sed 's/\.\([^.]*\)$$/.j2sdk-1_5_0.\1/'` ; \
|
||||
+ done
|
||||
+
|
||||
+# Unpack tripple compressed jars that showed up in 1.4.2
|
||||
+ if [ -x $(JAVA_HOME)/bin/unpack200 ] ; then \
|
||||
+ for i in `find $(JAVA_HOME) -name \*.pack` ; do \
|
||||
+ $(JAVA_HOME)/bin/unpack200 \
|
||||
+ $$i `dirname $$i`/`basename $$i .pack`.jar ; \
|
||||
+ done ; \
|
||||
+ fi
|
||||
+
|
||||
+# Fix ControlPanel shell script incompatibilities
|
||||
+ if [ -f $(JAVA_HOME)/bin/ControlPanel ] ; then \
|
||||
+ sed "s/\/usr\/bin\/ls/\/bin\/ls/g; \
|
||||
+ s/expr \(.*\) : '^/expr \1 : '/;" \
|
||||
+ $(JAVA_HOME)/bin/ControlPanel \
|
||||
+ > $(JAVA_HOME)/bin/ControlPanel.tmp ; \
|
||||
+ mv $(JAVA_HOME)/bin/ControlPanel.tmp \
|
||||
+ $(JAVA_HOME)/bin/ControlPanel ; \
|
||||
+ chmod 755 $(JAVA_HOME)/bin/ControlPanel ; \
|
||||
+ fi
|
||||
+ if [ -f $(JAVA_HOME)/jre/bin/ControlPanel ] ; then \
|
||||
+ sed "s/\/usr\/bin\/ls/\/bin\/ls/g; \
|
||||
+ s/expr \(.*\) : '^/expr \1 : '/;" \
|
||||
+ $(JAVA_HOME)/jre/bin/ControlPanel \
|
||||
+ > $(JAVA_HOME)/jre/bin/ControlPanel.tmp ; \
|
||||
+ mv $(JAVA_HOME)/jre/bin/ControlPanel.tmp \
|
||||
+ $(JAVA_HOME)/jre/bin/ControlPanel ; \
|
||||
+ chmod 755 $(JAVA_HOME)/jre/bin/ControlPanel ; \
|
||||
+ fi
|
||||
+
|
||||
+# Include optional documentation
|
||||
+ if [ -f ../jdk-1_5_0-doc.zip ] ; then \
|
||||
+ unzip -q -d debian/$(PACKAGE)/usr/share/doc \
|
||||
+ ../jdk-1_5_0-doc.zip ; \
|
||||
+ mv debian/$(PACKAGE)/usr/share/doc/docs \
|
||||
+ debian/$(PACKAGE)/usr/share/doc/$(PACKAGE) ; \
|
||||
+ else \
|
||||
+ echo jdk-1_5_0-doc.zip not found, skipping documentation ; \
|
||||
+ fi
|
||||
+
|
||||
+ dh_installdocs
|
||||
+ dh_installchangelogs
|
||||
+
|
||||
+# This has been known to break on some wacky binaries.
|
||||
+# dh_strip
|
||||
+ dh_compress
|
||||
+ dh_fixperms
|
||||
+ dh_makeshlibs
|
||||
+ dh_installdeb
|
||||
+ -dh_shlibdeps
|
||||
+ dh_gencontrol
|
||||
+ dh_md5sums
|
||||
+ dh_builddeb
|
||||
+
|
||||
+binary: binary-indep binary-arch
|
||||
+.PHONY: build clean binary-indep binary-arch binary
|
||||
--- jdk-1.5.0.orig/debian/changelog
|
||||
+++ jdk-1.5.0/debian/changelog
|
||||
@@ -0,0 +1,92 @@
|
||||
+jdk (1.5.0-1) unstable; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@unzane.com> Fri, 01 Oct 2004 14:19:16 -0700
|
||||
+
|
||||
+j2sdk (2:1.4.2_05-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@unzane.com> Fri, 01 Oct 2004 10:01:53 -0700
|
||||
+
|
||||
+j2sdk (2:1.4.2_03-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Mon, 19 Jan 2004 12:33:32 -0800
|
||||
+
|
||||
+j2sdk (2:1.4.2-1) experimental; urgency=low
|
||||
+
|
||||
+ * Fix ControlPanel shell script incompatibilities. Closes: #200731
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 10 Jul 2003 09:59:23 -0700
|
||||
+
|
||||
+j2sdk (1:1.4.2-1) experimental; urgency=low
|
||||
+
|
||||
+ * alien echoes the wrong filename, "j2sdk_1.4.2-1_i386.deb generated",
|
||||
+ and fails to install when using the -i option. Reverted package name
|
||||
+ j2sdk1.4 to j2sdk. Changed package version to 1 and use an epoch.
|
||||
+ Closes: #199992
|
||||
+ * The intent of the j2sdk1.4 package rename was so that that multiple
|
||||
+ j2sdk versions could be installed simultaneously (i.e. j2sdk1.3).
|
||||
+ This is no longer possible using this patch.
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Sun, 6 Jul 2003 13:39:31 -0700
|
||||
+
|
||||
+j2sdk (1.4.2-6) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Mon, 30 Jun 2003 15:46:47 -0700
|
||||
+
|
||||
+j2sdk (1.4.1_02-5) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Fri, 14 Mar 2003 14:43:45 -0800
|
||||
+
|
||||
+j2sdk (1.4.1_01-4) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Tue, 14 Jan 2003 17:03:09 -0800
|
||||
+
|
||||
+j2sdk (1.4.1-3) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+ * Detection and installation of j2sdk-1_4_1-doc.zip (must be downloaded
|
||||
+ and copied to the same directory where alien is executed)
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Wed, 2 Oct 2002 16:41:24 -0700
|
||||
+
|
||||
+j2sdk (1.4.1-2) experimental; urgency=low
|
||||
+
|
||||
+ * Added java-common Depends
|
||||
+ * Added java-virtual-machine, java2-runtime, java-compiler, and
|
||||
+ java2-compiler Provides
|
||||
+ * Added netscape and mozilla Suggests
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 23 Aug 2002 09:07:09 -0700
|
||||
+
|
||||
+j2sdk (1.4.1-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+ * Detection and installation of j2sdk-1_4_1-rc-doc.zip (must be downloaded
|
||||
+ and copied to the same directory where alien is executed)
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 22 Aug 2002 16:22:33 -0700
|
||||
+
|
||||
+j2sdk (1.4.0_01-1) experimental; urgency=low
|
||||
+
|
||||
+ * New upstream release
|
||||
+ * Detection and installation of j2sdk-1_4_0-doc.zip (must be downloaded
|
||||
+ and copied to the same directory where alien is executed)
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Thu, 22 Aug 2002 15:44:54 -0700
|
||||
+
|
||||
+j2sdk (1.4.0-1) experimental; urgency=low
|
||||
+
|
||||
+ * Converted from .rpm format to .deb
|
||||
+
|
||||
+ -- Gerald Turner <gturner@newedgenetworks.com> Wed, 22 May 2002 12:46:34 -0700
|
||||
--- jdk-1.5.0.orig/debian/postinst
|
||||
+++ jdk-1.5.0/debian/postinst
|
||||
@@ -0,0 +1,111 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+case "`uname -m`" in
|
||||
+ i[3-7]86 | ia32 | ia64)
|
||||
+ ARCH=i386
|
||||
+ ;;
|
||||
+ sparc*)
|
||||
+ ARCH=sparc
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ARCH="`uname -m`"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+if [ $1 = configure ]
|
||||
+then
|
||||
+ for i in appletviewer ControlPanel extcheck HtmlConverter idlj jar \
|
||||
+ jarsigner java javac javadoc javah javap java-rmi.cgi javaws \
|
||||
+ jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd \
|
||||
+ keytool kinit klist ktab native2ascii orbd pack200 policytool \
|
||||
+ rmic rmid rmiregistry serialver servertool tnameserv unpack200
|
||||
+ do
|
||||
+ if [ -e /usr/share/man/man1/$i.j2sdk-1_5_0.1.gz ]
|
||||
+ then
|
||||
+ if [ -e /usr/share/man/ja/man1/$i.j2sdk-1_5_0.1.gz ]
|
||||
+ then
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.5.0/bin/$i \
|
||||
+ 1500 \
|
||||
+ --slave \
|
||||
+ /usr/share/man/man1/$i.1.gz \
|
||||
+ $i.1.gz \
|
||||
+ /usr/share/man/man1/$i.j2sdk-1_5_0.1.gz \
|
||||
+ --slave \
|
||||
+ /usr/share/man/ja/man1/$i.1.gz \
|
||||
+ $i.ja.1.gz \
|
||||
+ /usr/share/man/ja/man1/$i.j2sdk-1_5_0.1.gz
|
||||
+ else
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.5.0/bin/$i \
|
||||
+ 1500 \
|
||||
+ --slave \
|
||||
+ /usr/share/man/man1/$i.1.gz \
|
||||
+ $i.1.gz \
|
||||
+ /usr/share/man/man1/$i.j2sdk-1_5_0.1.gz
|
||||
+ fi
|
||||
+ else
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/$i \
|
||||
+ $i \
|
||||
+ /usr/lib/j2sdk-1.5.0/bin/$i \
|
||||
+ 1500
|
||||
+ fi
|
||||
+ done
|
||||
+
|
||||
+ for i in apt
|
||||
+ do
|
||||
+ if [ -e /usr/share/man/man1/$i.j2sdk-1_5_0.1.gz ]
|
||||
+ then
|
||||
+ if [ -e /usr/share/man/ja/man1/$i.j2sdk-1_5_0.1.gz ]
|
||||
+ then
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/j$i \
|
||||
+ j$i \
|
||||
+ /usr/lib/j2sdk-1.5.0/bin/$i \
|
||||
+ 1500 \
|
||||
+ --slave \
|
||||
+ /usr/share/man/man1/j$i.1.gz \
|
||||
+ j$i.1.gz \
|
||||
+ /usr/share/man/man1/$i.j2sdk-1_5_0.1.gz \
|
||||
+ --slave \
|
||||
+ /usr/share/man/ja/man1/j$i.1.gz \
|
||||
+ j$i.ja.1.gz \
|
||||
+ /usr/share/man/ja/man1/$i.j2sdk-1_5_0.1.gz
|
||||
+ else
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/j$i \
|
||||
+ j$i \
|
||||
+ /usr/lib/j2sdk-1.5.0/bin/$i \
|
||||
+ 1500 \
|
||||
+ --slave \
|
||||
+ /usr/share/man/man1/j$i.1.gz \
|
||||
+ j$i.1.gz \
|
||||
+ /usr/share/man/man1/$i.j2sdk-1_5_0.1.gz
|
||||
+ fi
|
||||
+ else
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/bin/j$i \
|
||||
+ j$i \
|
||||
+ /usr/lib/j2sdk-1.5.0/bin/$i \
|
||||
+ 1500
|
||||
+ fi
|
||||
+ done
|
||||
+
|
||||
+ update-alternatives \
|
||||
+ --install \
|
||||
+ /usr/lib/mozilla/plugins/javaplugin_oji.so \
|
||||
+ javaplugin_oji.so \
|
||||
+ /usr/lib/j2sdk-1.5.0/jre/plugin/${ARCH}/ns7/libjavaplugin_oji.so \
|
||||
+ 1500
|
||||
+fi
|
||||
--- jdk-1.5.0.orig/debian/copyright
|
||||
+++ jdk-1.5.0/debian/copyright
|
||||
@@ -0,0 +1,25 @@
|
||||
+This package was debianized by the alien program by converting
|
||||
+a binary .rpm package on Fri, 1 Oct 2004 10:18:23 -0700
|
||||
+
|
||||
+Copyright: Sun Microsystems Binary Code License (BCL)
|
||||
+
|
||||
+Information from the binary package:
|
||||
+Name : jdk Relocations: /usr/java
|
||||
+Version : 1.5.0 Vendor: Sun Microsystems, Inc.
|
||||
+Release : fcs Build Date: Wed 15 Sep 2004 06:18:37 AM PDT
|
||||
+Install date: (not installed) Build Host: tiger-linux
|
||||
+Group : Development/Tools Source RPM: jdk-1.5.0-fcs.src.rpm
|
||||
+Size : 80132114 License: Sun Microsystems Binary Code License (BCL)
|
||||
+Packager : Java Software <j2se-comments@java.sun.com>
|
||||
+URL : http://java.sun.com/
|
||||
+Summary : Java(TM) 2 Platform Standard Edition Development Kit
|
||||
+Description :
|
||||
+The Java 2 Platform Standard Edition Development Kit (JDK) includes both the
|
||||
+runtime environment (Java virtual machine, the Java platform classes and
|
||||
+supporting files) and development tools (compilers, debuggers, tool libraries
|
||||
+and other tools).
|
||||
+
|
||||
+The JDK is a development environment for building applications, applets and
|
||||
+components that can be deployed with the Java 2 Platform Standard Edition
|
||||
+Runtime Environment.
|
||||
+
|
||||
@@ -1,145 +0,0 @@
|
||||
--- lgtoclnt-7.1.2.orig/debian/copyright
|
||||
+++ lgtoclnt-7.1.2/debian/copyright
|
||||
@@ -0,0 +1,20 @@
|
||||
+This package was debianized by the alien program by converting
|
||||
+a binary .rpm package on Wed, 13 Oct 2004 10:49:10 -0400
|
||||
+
|
||||
+Copyright: commercial
|
||||
+
|
||||
+Information from the binary package:
|
||||
+Name : lgtoclnt Relocations: /usr
|
||||
+Version : 7.1.2 Vendor: LEGATO Software, a Division of EMC
|
||||
+Release : 1 Build Date: Fri Jun 4 06:13:15 2004
|
||||
+Install date: (not installed) Build Host: azzurro.legato.com
|
||||
+Group : Utilities Source RPM: lgtoclnt-7.1.2-1.src.rpm
|
||||
+Size : 34958741 License: commercial
|
||||
+Packager : Support support@legato.com
|
||||
+URL : http://www.legato.com
|
||||
+Summary : LEGATO NetWorker Client for Linux Platforms
|
||||
+Description :
|
||||
+LEGATO's NetWorker client is a set of programs that manage automated
|
||||
+backups to and directed retrievals from a LEGATO NetWorker server across
|
||||
+the network.
|
||||
+
|
||||
--- lgtoclnt-7.1.2.orig/debian/dirs
|
||||
+++ lgtoclnt-7.1.2/debian/dirs
|
||||
@@ -0,0 +1 @@
|
||||
+etc
|
||||
--- lgtoclnt-7.1.2.orig/debian/lgtoclnt.networker.init
|
||||
+++ lgtoclnt-7.1.2/debian/lgtoclnt.networker.init
|
||||
@@ -0,0 +1,27 @@
|
||||
+#!/bin/sh
|
||||
+case $1 in
|
||||
+'start')
|
||||
+ (echo 'starting NetWorker daemons:') > /dev/console
|
||||
+ if [ -f /usr/sbin/nsrexecd ]; then
|
||||
+ (/usr/sbin/nsrexecd) > /dev/console 2>&1
|
||||
+ (echo ' nsrexecd') > /dev/console
|
||||
+ (echo '') > /dev/console
|
||||
+ fi
|
||||
+ if [ -f /usr/sbin/nsrd ]; then
|
||||
+ (/usr/sbin/nsrd) > /dev/console 2>&1
|
||||
+ (echo ' nsrd') > /dev/console
|
||||
+ (echo '') > /dev/console
|
||||
+ fi
|
||||
+;;
|
||||
+'stop')
|
||||
+ (echo 'stopping NetWorker daemons:') > /dev/console
|
||||
+ if [ -f /usr/sbin/nsr_shutdown ]; then
|
||||
+ (/usr/sbin/nsr_shutdown -a -q&) > /dev/console 2>&1
|
||||
+ (echo ' nsr_shutdown -a -q') > /dev/console
|
||||
+ (echo '') > /dev/console
|
||||
+ fi
|
||||
+;;
|
||||
+*)
|
||||
+ echo "usage: `basename $0` {start|stop}"
|
||||
+;;
|
||||
+esac
|
||||
--- lgtoclnt-7.1.2.orig/debian/control
|
||||
+++ lgtoclnt-7.1.2/debian/control
|
||||
@@ -0,0 +1,14 @@
|
||||
+Source: lgtoclnt
|
||||
+Section: non-free/admin
|
||||
+Priority: extra
|
||||
+Maintainer: Clint Adams <schizo@debian.org>
|
||||
+
|
||||
+Package: lgtoclnt
|
||||
+Architecture: i386
|
||||
+Depends: ${shlibs:Depends}
|
||||
+Description: LEGATO NetWorker Client for Linux Platforms
|
||||
+ LEGATO's NetWorker client is a set of programs that manage automated
|
||||
+ backups to and directed retrievals from a LEGATO NetWorker server across
|
||||
+ the network.
|
||||
+ .
|
||||
+ (Converted from a rpm package by alien version 8.47.)
|
||||
--- lgtoclnt-7.1.2.orig/debian/changelog
|
||||
+++ lgtoclnt-7.1.2/debian/changelog
|
||||
@@ -0,0 +1,10 @@
|
||||
+lgtoclnt (7.1.2-2) experimental; urgency=low
|
||||
+
|
||||
+ * Converted from .rpm format to .deb
|
||||
+ by alien version 8.47
|
||||
+ * Moved app-defaults to /etc/X11.
|
||||
+ * Re-added init script.
|
||||
+
|
||||
+ -- Clint Adams <schizo@debian.org> Wed, 13 Oct 2004 10:49:10 -0400
|
||||
+
|
||||
+Initial deployment.
|
||||
--- lgtoclnt-7.1.2.orig/debian/rules
|
||||
+++ lgtoclnt-7.1.2/debian/rules
|
||||
@@ -0,0 +1,55 @@
|
||||
+#!/usr/bin/make -f
|
||||
+# debian/rules for alien
|
||||
+
|
||||
+# Uncomment this to turn on verbose mode.
|
||||
+#export DH_VERBOSE=1
|
||||
+
|
||||
+# Use v3 compatability mode, so ldconfig gets added to maint scripts.
|
||||
+export DH_COMPAT=4
|
||||
+
|
||||
+PACKAGE=$(shell dh_listpackages)
|
||||
+
|
||||
+build:
|
||||
+ dh_testdir
|
||||
+
|
||||
+clean:
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean -d
|
||||
+
|
||||
+binary-indep: build
|
||||
+
|
||||
+binary-arch: build
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean -k -d
|
||||
+ dh_installdirs
|
||||
+
|
||||
+ dh_installdocs
|
||||
+ dh_installchangelogs
|
||||
+
|
||||
+# Copy the packages's files.
|
||||
+ find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
|
||||
+ xargs -0 -r -i cp -a {} debian/$(PACKAGE)
|
||||
+
|
||||
+ mv debian/$(PACKAGE)/usr/lib/X11 debian/$(PACKAGE)/etc
|
||||
+
|
||||
+#
|
||||
+# If you need to move files around in debian/$(PACKAGE) or do some
|
||||
+# binary patching, do it here
|
||||
+#
|
||||
+
|
||||
+ dh_installinit --name=networker --update-rcd-params="defaults 95 5"
|
||||
+# This has been known to break on some wacky binaries.
|
||||
+# dh_strip
|
||||
+ dh_compress
|
||||
+# dh_fixperms
|
||||
+ dh_makeshlibs
|
||||
+ dh_installdeb
|
||||
+ -dh_shlibdeps
|
||||
+ dh_gencontrol
|
||||
+ dh_md5sums
|
||||
+ dh_builddeb
|
||||
+
|
||||
+binary: binary-indep binary-arch
|
||||
+.PHONY: build clean binary-indep binary-arch binary
|
||||
@@ -1,381 +0,0 @@
|
||||
--- motif-devel-2.1.10.orig/debian/changelog-template
|
||||
+++ motif-devel-2.1.10/debian/changelog-template
|
||||
@@ -0,0 +1,31 @@
|
||||
+#PACKAGE# (#VERS#-7) unstable; urgency=low
|
||||
+
|
||||
+ * Disabled dh_undocumented.
|
||||
+ * Removed dh_suidregister.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Tue, 16 Jan 2001 11:58:56 +0100
|
||||
+
|
||||
+#PACKAGE# (#VERS#-6) unstable; urgency=low
|
||||
+
|
||||
+ * Depends on xlibs-dev.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Sat, 9 Dec 2000 12:27:50 +0100
|
||||
+
|
||||
+#PACKAGE# (#VERS#-5) unstable; urgency=low
|
||||
+
|
||||
+ * Made mxterm use libncurses.so.5 instead of libtermcap.so.2.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Mon, 3 Jan 2000 10:04:26 +0100
|
||||
+
|
||||
+#PACKAGE# (#VERS#-4) unstable; urgency=low
|
||||
+
|
||||
+ * Converted from RPM binary format to Debian.
|
||||
+ * Added *.so symlinks.
|
||||
+ * Added mxmkmf.
|
||||
+ * Enabled dh_undocumented and dh_fixperms.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Tue, 16 Nov 1999 19:31:18 +0100
|
||||
+
|
||||
+Local variables:
|
||||
+mode: debian-changelog
|
||||
+End:
|
||||
--- motif-devel-2.1.10.orig/debian/control
|
||||
+++ motif-devel-2.1.10/debian/control
|
||||
@@ -0,0 +1,14 @@
|
||||
+Source: motif-devel
|
||||
+Section: non-free/x11
|
||||
+Priority: extra
|
||||
+Build-Depends: debhelper, motif
|
||||
+Maintainer: Andreas Voegele <andreas.voegele@gmx.de>
|
||||
+Standards-Version: 3.1.1
|
||||
+
|
||||
+Package: motif-devel
|
||||
+Architecture: any
|
||||
+Depends: motif (= ${Source-Version}), libc6-dev, xlibs-dev
|
||||
+Conflicts: lesstif-bin, lesstif-dev, lesstif-dbg, lesstif1, lesstifg, openmotif, openmotif-devel
|
||||
+Description: Development files for the Motif toolkit
|
||||
+ This is the Motif development environment. It includes the static
|
||||
+ libraries and header files necessary to build Motif based applications.
|
||||
--- motif-devel-2.1.10.orig/debian/copyright
|
||||
+++ motif-devel-2.1.10/debian/copyright
|
||||
@@ -0,0 +1,150 @@
|
||||
+This is the prepackaged version of Metro Link Motif. It was debianized
|
||||
+by the alien program by converting a binary RPM package.
|
||||
+
|
||||
+Metro Link's web site can be found at http://www.metrolink.com/
|
||||
+
|
||||
+METRO LINK WARRANTY AND LICENSE AGREEMENT
|
||||
+
|
||||
+READ THESE LICENSE TERMS BEFORE OPENING THE SOFTWARE PACKAGE.
|
||||
+OPENING THE SOFTWARE PACKAGE INDICATES YOUR ACCEPTANCE OF THIS LICENSE.
|
||||
+IF YOU DO NOT AGREE TO THESE LICENSE TERMS, RETURN THE SOFTWARE PACKAGE
|
||||
+UNOPENED (ALONG WITH ALL ASSOCIATED WRITTEN PRODUCT MATERIALS) AND
|
||||
+WITHIN THE WARRANTY PERIOD TO THE DEALER FROM WHOM YOU OBTAINED IT
|
||||
+FOR A FULL REFUND.
|
||||
+
|
||||
+This License is an agreement between you and METRO LINK INCORPORATED
|
||||
+(hereafter "ML").
|
||||
+
|
||||
+1. LICENSE GRANT
|
||||
+
|
||||
+Subject to the terms set forth in this License, you may use the
|
||||
+enclosed computer product ("SOFTWARE"), including all associated
|
||||
+software documentation furnished with this package, solely for your
|
||||
+internal business purposes in the country in which the Software was
|
||||
+furnished to you and on a single computer system (i.e. single or
|
||||
+multiple CPU system in the same physical cabinet).
|
||||
+
|
||||
+NFS mounting of programs or clients is not permitted.
|
||||
+
|
||||
+
|
||||
+2. COPYRIGHT AND TITLE.
|
||||
+
|
||||
+The Software and its copyrights are owned by ML or its suppliers.
|
||||
+The Software is protected by United States copyright laws and
|
||||
+international treaty provisions. Therefore, you must treat the
|
||||
+Software like any other copyrighted material (e.g., a book or musical
|
||||
+recording) except that you may either (a) make one (1) copy of the
|
||||
+Software solely for backup purposes or (b) transfer the Software to
|
||||
+a single hard disk provided you keep the original solely for backup
|
||||
+or archival purposes. You must reproduce and include the copyright
|
||||
+notice on the backup copy. You may not copy the written materials.
|
||||
+
|
||||
+
|
||||
+3. RESTRICTED USE.
|
||||
+
|
||||
+You may not rent or lease the Software, and you may not reverse engineer,
|
||||
+decompile, or disassemble the Software. Furthermore, certain components
|
||||
+of the Software are licensed for use exclusively with hardware supplied
|
||||
+by specific manufacturers, and you may not modify the Software so that
|
||||
+it will operate with hardware supplied by alternate manufacturers.
|
||||
+
|
||||
+
|
||||
+4. ADAPTATIONS
|
||||
+
|
||||
+Any part of the Software that you merge with other software is still
|
||||
+property of ML. In the event this License is terminated, you may not
|
||||
+use part of the Software even if it has been merged with other software.
|
||||
+You agree to take reasonable steps to protect ML's Software from theft
|
||||
+or use contrary to this License.
|
||||
+
|
||||
+
|
||||
+5. LIMITED 30-DAY WARRANTIES.
|
||||
+
|
||||
+ML warrants to you (the original Licensee) for thirty (30) days from
|
||||
+the date of delivery to you of the Software, as evidenced by a copy
|
||||
+of your license purchase receipt ( the Warranty Period"), that the
|
||||
+Software shall be in operable condition as described in the documentation
|
||||
+provided with the product code, and that the media upon which the
|
||||
+Software is furnished to you will be free from defects in material and
|
||||
+workmanship under normal use. FOR WARRANTY ASSISTANCE, YOU MAY EITHER
|
||||
+RETURN THE SOFTWARE TO THE DEALER FROM WHICH YOU PURCHASED THE LICENSE,
|
||||
+OR CONTACT THAT DEALER (WHOSE NAME AND ADDRESS IS SET FORTH ON THE BOX
|
||||
+CONTAINING THIS WARRANTY), OR CONTACT ML AT THE ADDRESS STATED ON THIS
|
||||
+LICENSE, ATTN: CUSTOMER SERVICE DEPARTMENT. This warranty allocates
|
||||
+risks of product failure between you and ML.
|
||||
+
|
||||
+
|
||||
+6. NO OTHER WARRANTIES.
|
||||
+
|
||||
+The agents, employees, distributors, and dealers of ML are not
|
||||
+authorized to make modifications to this warranty, nor are additional
|
||||
+warranties binding on ML. Accordingly, additional statements such as
|
||||
+dealer advertising or presentations, whether oral or written, do not
|
||||
+constitute warranties by ML and should not be relied upon as a limited
|
||||
+warranty of ML.
|
||||
+
|
||||
+ML AND ITS SUPPLIERS MAKE NO OTHER REPRESENTATIONS, CONDITIONS, OR
|
||||
+WARRANTIES, EXPRESSED OR IMPLIED. ANY IMPLIED WARRANTY OR CONDITION OF
|
||||
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE IS LIMITED IN
|
||||
+DURATION TO THE WARRANTY PERIOD. SOME STATES DO NOT ALLOW LIMITATIONS
|
||||
+ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATIONS MAY NOT
|
||||
+APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS AND YOU MAY
|
||||
+ALSO HAVE OTHER LEGAL RIGHTS WHICH VARY FROM STATE TO STATE.
|
||||
+
|
||||
+
|
||||
+7. CUSTOMER REMEDIES
|
||||
+
|
||||
+YOUR SOLE AND EXCLUSIVE REMEDY AND ML'S SOLE LIABILITY HEREUNDER
|
||||
+SHALL BE, UPON YOUR RETURN OF THE SOFTWARE TO ML WITH THE RECEIPT
|
||||
+WITHIN THE WARRANTY PERIOD, AT ML'S OPTION, REPLACEMENT OR REPAIR
|
||||
+OF SOFTWARE THAT DOES NOT MEET ML'S LIMITED WARRANTY OR A REFUND OF
|
||||
+THE SOFTWARE'S PURCHASE PRICE. ML'S SUPPLIERS SHALL NOT BE HELD TO
|
||||
+ANY LIABILITY FOR ANY DAMAGES SUFFERED OR INCURRED BY YOU. IN NO EVENT
|
||||
+SHALL ML OR ITS SUPPLIERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY
|
||||
+INCIDENTAL, COLLATERAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
|
||||
+WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF CUSTOMERS,
|
||||
+LOSS OF GOOD WILL, WORK STOPPAGE, DATA LOSS, COMPUTER FAILURE OR
|
||||
+MALFUNCTION, CLAIMS BY ANY PARTY OTHER THAN YOU, OR ANY OR ALL OTHER
|
||||
+SIMILAR DAMAGES OR LOSS EVEN IF ML, ITS SUPPLIERS, OR ITS AGENT HAS
|
||||
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT
|
||||
+ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
|
||||
+DAMAGES, SO THE ABOVE LIMITATIONS OR EXCLUSION MAY NOT APPLY TO YOU.
|
||||
+
|
||||
+ML shall have no liability or responsibility for Software altered,
|
||||
+modified, or converted by you or a third party, damages resulting
|
||||
+from accident, abuse, or misapplication, or for problems due to the
|
||||
+malfunction of your equipment or software not supplied by ML.
|
||||
+
|
||||
+
|
||||
+8. TERMINATION
|
||||
+
|
||||
+This License is in effect until terminated and terminates without
|
||||
+notice from ML if you fail to comply with any of its provisions.
|
||||
+Upon termination you shall either destroy the Software and all copies
|
||||
+or portions thereof or return the Software and all copies as portions
|
||||
+thereof to ML.
|
||||
+
|
||||
+
|
||||
+9. GENERAL
|
||||
+
|
||||
+This License is governed by the laws of the State of Florida. This
|
||||
+License represents the entire statement of the understandings and
|
||||
+agreements among the parties.
|
||||
+
|
||||
+
|
||||
+10. U.S. GOVERNMENT RESTRICTED RIGHTS
|
||||
+
|
||||
+This Software and documentation is provided with RESTRICTED RIGHTS.
|
||||
+Use, duplication, or disclosure by the Government is subject to
|
||||
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights
|
||||
+in Technical Data and Computer FAR 52.227-14 (Alternate III) or the
|
||||
+Software clause at DFAR 252.227-7013. Contractor/manufacturer is
|
||||
+METRO LINK INCORPORATED, 4711 North Powerline Road, Fort Lauderdale,
|
||||
+FL 33309.
|
||||
+
|
||||
+Metro Link Motif Complete!, Metro Link Motif, Metro-X, Metro
|
||||
+Extreme 3D, Metro OpenGL, Metro-Xv, and Metro-XIE are trademarks
|
||||
+of Metro Link Incorporated.
|
||||
+
|
||||
+XRT, XRT/graph, XRT/field, XRT/gear, XRT/3d, and XRT/table are
|
||||
+trademarks of KL Group Incorporated.
|
||||
--- motif-devel-2.1.10.orig/debian/rules
|
||||
+++ motif-devel-2.1.10/debian/rules
|
||||
@@ -0,0 +1,87 @@
|
||||
+#!/usr/bin/make -f
|
||||
+# debian/rules that uses debhelper and alien
|
||||
+# GNU copyright 1997 by Joey Hess.
|
||||
+
|
||||
+SHELL = /bin/sh
|
||||
+
|
||||
+package := $(shell basename `pwd` | sed 's/-[0-9].*//')
|
||||
+version := $(shell basename `pwd` | tr -cd '[0-9.]')
|
||||
+major := $(word 1,$(subst ., ,$(version)))
|
||||
+minor := $(word 2,$(subst ., ,$(version)))
|
||||
+
|
||||
+# Uncomment this to turn on verbose mode.
|
||||
+#export DH_VERBOSE=1
|
||||
+
|
||||
+# This is the debhelper compatability version to use.
|
||||
+export DH_COMPAT=1
|
||||
+
|
||||
+motif-version:
|
||||
+ sed -e 's/#PACKAGE#/$(package)/' -e 's/#VERS#/$(version)/' debian/changelog-template >debian/changelog
|
||||
+
|
||||
+build: motif-version
|
||||
+ dh_testdir
|
||||
+
|
||||
+clean: motif-version
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean
|
||||
+
|
||||
+# Build architecture-independent files here.
|
||||
+binary-indep: build
|
||||
+# We have nothing to do by default.
|
||||
+
|
||||
+# Build architecture-dependent files here.
|
||||
+binary-arch: build
|
||||
+# dh_testversion
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean -k
|
||||
+ dh_installdirs
|
||||
+ tar -cf - --exclude=debian --exclude='./usr/doc' . | tar -xpf - -C debian/tmp
|
||||
+#
|
||||
+# If you need to move files around in debian/tmp or do some
|
||||
+# binary patching ... Insert it here
|
||||
+#
|
||||
+ -ln -fs libMrm.so.$(major).$(minor) debian/tmp/usr/X11R6/lib/libMrm.so
|
||||
+ -ln -fs libUil.so.$(major).$(minor) debian/tmp/usr/X11R6/lib/libUil.so
|
||||
+ -ln -fs libXm.so.$(major).$(minor) debian/tmp/usr/X11R6/lib/libXm.so
|
||||
+# Move /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults.
|
||||
+ @if [ -d debian/tmp/usr/X11R6/lib/X11/app-defaults ]; then \
|
||||
+ echo "Moving /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults"; \
|
||||
+ [ -d debian/tmp/etc/X11 ] || mkdir -p debian/tmp/etc/X11; \
|
||||
+ mv debian/tmp/usr/X11R6/lib/X11/app-defaults debian/tmp/etc/X11; \
|
||||
+ fi
|
||||
+# Install mxmkmf.
|
||||
+ @if [ ! -e debian/tmp/usr/X11R6/bin/mxmkmf ]; then \
|
||||
+ echo "Installing mxmkmf"; \
|
||||
+ install -m 0755 debian/mxmkmf debian/tmp/usr/X11R6/bin/mxmkmf; \
|
||||
+ fi
|
||||
+# Copy documentation.
|
||||
+ @if [ -d usr/doc ]; then \
|
||||
+ echo "Copying documentation"; \
|
||||
+ mkdir -p debian/tmp/usr/share/doc/$(package); \
|
||||
+ cp -a usr/doc/*/* debian/tmp/usr/share/doc/$(package); \
|
||||
+ fi
|
||||
+ dh_installdocs
|
||||
+ dh_installexamples
|
||||
+ dh_installmenu
|
||||
+# dh_installinit
|
||||
+# dh_installcron
|
||||
+# dh_installmanpages
|
||||
+# dh_undocumented
|
||||
+ dh_installchangelogs
|
||||
+ dh_strip
|
||||
+ dh_compress
|
||||
+ dh_fixperms
|
||||
+ dh_installdeb
|
||||
+ -dh_shlibdeps
|
||||
+ dh_gencontrol
|
||||
+# dh_makeshlibs
|
||||
+ dh_md5sums
|
||||
+ dh_builddeb
|
||||
+
|
||||
+source diff:
|
||||
+ @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
|
||||
+
|
||||
+binary: binary-indep binary-arch
|
||||
+.PHONY: build clean binary-indep binary-arch binary motif-version
|
||||
--- motif-devel-2.1.10.orig/debian/mxmkmf
|
||||
+++ motif-devel-2.1.10/debian/mxmkmf
|
||||
@@ -0,0 +1,70 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+# $XFree86$
|
||||
+#
|
||||
+# make a Makefile from an Imakefile from inside or outside the sources
|
||||
+#
|
||||
+# $XConsortium: xmkmf.cpp /main/22 1996/09/28 16:17:05 rws $
|
||||
+
|
||||
+usage="usage: $0 [-a] [top_of_sources_pathname [current_directory]]"
|
||||
+
|
||||
+configdirspec="-I/usr/X11R6/lib/X11/config"
|
||||
+topdir=
|
||||
+curdir=.
|
||||
+do_all=
|
||||
+imake_defines="-DProjectRulesFile=<Motif.rules.metro> -DProjectTmplFile=<Motif.tmpl.metro>"
|
||||
+
|
||||
+while [ $# -gt 0 ]
|
||||
+do
|
||||
+ case "$1" in
|
||||
+ -D*)
|
||||
+ imake_defines="$imake_defines $1"
|
||||
+ shift
|
||||
+ ;;
|
||||
+ -a)
|
||||
+ do_all="yes"
|
||||
+ shift
|
||||
+ ;;
|
||||
+ *)
|
||||
+ break
|
||||
+ ;;
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
+case $# in
|
||||
+ 0) ;;
|
||||
+ 1) topdir=$1 ;;
|
||||
+ 2) topdir=$1 curdir=$2 ;;
|
||||
+ *) echo "$usage" 1>&2; exit 1 ;;
|
||||
+esac
|
||||
+
|
||||
+case "$topdir" in
|
||||
+ -*) echo "$usage" 1>&2; exit 1 ;;
|
||||
+esac
|
||||
+
|
||||
+if [ -f Makefile ]; then
|
||||
+ echo mv -f Makefile Makefile.bak
|
||||
+ mv -f Makefile Makefile.bak
|
||||
+fi
|
||||
+
|
||||
+if [ "$topdir" = "" ]; then
|
||||
+ args="-DUseInstalled "$configdirspec
|
||||
+else
|
||||
+ args="-I$topdir/config/cf -DTOPDIR=$topdir -DCURDIR=$curdir"
|
||||
+fi
|
||||
+
|
||||
+echo imake $imake_defines $args
|
||||
+case "$do_all" in
|
||||
+yes)
|
||||
+ imake $imake_defines $args &&
|
||||
+ echo "make Makefiles" &&
|
||||
+ make Makefiles &&
|
||||
+ echo "make includes" &&
|
||||
+ make includes &&
|
||||
+ echo "make depend" &&
|
||||
+ make depend
|
||||
+ ;;
|
||||
+*)
|
||||
+ imake $imake_defines $args
|
||||
+ ;;
|
||||
+esac
|
||||
--- motif-devel-2.1.10.orig/debian/dirs
|
||||
+++ motif-devel-2.1.10/debian/dirs
|
||||
@@ -0,0 +1,2 @@
|
||||
+usr/X11R6/bin
|
||||
+usr/X11R6/lib
|
||||
--- motif-devel-2.1.10.orig/debian/README.Debian
|
||||
+++ motif-devel-2.1.10/debian/README.Debian
|
||||
@@ -0,0 +1,6 @@
|
||||
+Motif for Debian
|
||||
+----------------
|
||||
+
|
||||
+Please use mxmkmf instead of xmkmf to build Motif programs.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Tue, 16 Nov 1999 19:31:18 +0100
|
||||
@@ -1,508 +0,0 @@
|
||||
--- motif-2.1.10.orig/debian/control
|
||||
+++ motif-2.1.10/debian/control
|
||||
@@ -0,0 +1,18 @@
|
||||
+Source: motif
|
||||
+Section: non-free/x11
|
||||
+Priority: extra
|
||||
+Build-Depends: debhelper
|
||||
+Maintainer: Andreas Voegele <andreas.voegele@gmx.de>
|
||||
+Standards-Version: 3.1.1
|
||||
+
|
||||
+Package: motif
|
||||
+Architecture: any
|
||||
+Depends: libc6, xlibs
|
||||
+Conflicts: lesstif-bin, lesstif-dev, lesstif-dbg, lesstif1, lesstifg, openmotif, openmotif-devel, suidmanager (<< 0.50)
|
||||
+Provides: x-window-manager
|
||||
+Suggests: menu
|
||||
+Description: Runtime libraries and executables for the Motif toolkit
|
||||
+ This package contains:
|
||||
+ - The Motif shared libraries, needed to run applications which are
|
||||
+ `dynamically linked' with Motif.
|
||||
+ - The popular Motif Window Manager, `mwm'.
|
||||
--- motif-2.1.10.orig/debian/copyright
|
||||
+++ motif-2.1.10/debian/copyright
|
||||
@@ -0,0 +1,150 @@
|
||||
+This is the prepackaged version of Metro Link Motif. It was debianized
|
||||
+by the Alien program by converting a binary RPM package.
|
||||
+
|
||||
+Metro Link's web site can be found at http://www.metrolink.com/
|
||||
+
|
||||
+METRO LINK WARRANTY AND LICENSE AGREEMENT
|
||||
+
|
||||
+READ THESE LICENSE TERMS BEFORE OPENING THE SOFTWARE PACKAGE.
|
||||
+OPENING THE SOFTWARE PACKAGE INDICATES YOUR ACCEPTANCE OF THIS LICENSE.
|
||||
+IF YOU DO NOT AGREE TO THESE LICENSE TERMS, RETURN THE SOFTWARE PACKAGE
|
||||
+UNOPENED (ALONG WITH ALL ASSOCIATED WRITTEN PRODUCT MATERIALS) AND
|
||||
+WITHIN THE WARRANTY PERIOD TO THE DEALER FROM WHOM YOU OBTAINED IT
|
||||
+FOR A FULL REFUND.
|
||||
+
|
||||
+This License is an agreement between you and METRO LINK INCORPORATED
|
||||
+(hereafter "ML").
|
||||
+
|
||||
+1. LICENSE GRANT
|
||||
+
|
||||
+Subject to the terms set forth in this License, you may use the
|
||||
+enclosed computer product ("SOFTWARE"), including all associated
|
||||
+software documentation furnished with this package, solely for your
|
||||
+internal business purposes in the country in which the Software was
|
||||
+furnished to you and on a single computer system (i.e. single or
|
||||
+multiple CPU system in the same physical cabinet).
|
||||
+
|
||||
+NFS mounting of programs or clients is not permitted.
|
||||
+
|
||||
+
|
||||
+2. COPYRIGHT AND TITLE.
|
||||
+
|
||||
+The Software and its copyrights are owned by ML or its suppliers.
|
||||
+The Software is protected by United States copyright laws and
|
||||
+international treaty provisions. Therefore, you must treat the
|
||||
+Software like any other copyrighted material (e.g., a book or musical
|
||||
+recording) except that you may either (a) make one (1) copy of the
|
||||
+Software solely for backup purposes or (b) transfer the Software to
|
||||
+a single hard disk provided you keep the original solely for backup
|
||||
+or archival purposes. You must reproduce and include the copyright
|
||||
+notice on the backup copy. You may not copy the written materials.
|
||||
+
|
||||
+
|
||||
+3. RESTRICTED USE.
|
||||
+
|
||||
+You may not rent or lease the Software, and you may not reverse engineer,
|
||||
+decompile, or disassemble the Software. Furthermore, certain components
|
||||
+of the Software are licensed for use exclusively with hardware supplied
|
||||
+by specific manufacturers, and you may not modify the Software so that
|
||||
+it will operate with hardware supplied by alternate manufacturers.
|
||||
+
|
||||
+
|
||||
+4. ADAPTATIONS
|
||||
+
|
||||
+Any part of the Software that you merge with other software is still
|
||||
+property of ML. In the event this License is terminated, you may not
|
||||
+use part of the Software even if it has been merged with other software.
|
||||
+You agree to take reasonable steps to protect ML's Software from theft
|
||||
+or use contrary to this License.
|
||||
+
|
||||
+
|
||||
+5. LIMITED 30-DAY WARRANTIES.
|
||||
+
|
||||
+ML warrants to you (the original Licensee) for thirty (30) days from
|
||||
+the date of delivery to you of the Software, as evidenced by a copy
|
||||
+of your license purchase receipt ( the Warranty Period"), that the
|
||||
+Software shall be in operable condition as described in the documentation
|
||||
+provided with the product code, and that the media upon which the
|
||||
+Software is furnished to you will be free from defects in material and
|
||||
+workmanship under normal use. FOR WARRANTY ASSISTANCE, YOU MAY EITHER
|
||||
+RETURN THE SOFTWARE TO THE DEALER FROM WHICH YOU PURCHASED THE LICENSE,
|
||||
+OR CONTACT THAT DEALER (WHOSE NAME AND ADDRESS IS SET FORTH ON THE BOX
|
||||
+CONTAINING THIS WARRANTY), OR CONTACT ML AT THE ADDRESS STATED ON THIS
|
||||
+LICENSE, ATTN: CUSTOMER SERVICE DEPARTMENT. This warranty allocates
|
||||
+risks of product failure between you and ML.
|
||||
+
|
||||
+
|
||||
+6. NO OTHER WARRANTIES.
|
||||
+
|
||||
+The agents, employees, distributors, and dealers of ML are not
|
||||
+authorized to make modifications to this warranty, nor are additional
|
||||
+warranties binding on ML. Accordingly, additional statements such as
|
||||
+dealer advertising or presentations, whether oral or written, do not
|
||||
+constitute warranties by ML and should not be relied upon as a limited
|
||||
+warranty of ML.
|
||||
+
|
||||
+ML AND ITS SUPPLIERS MAKE NO OTHER REPRESENTATIONS, CONDITIONS, OR
|
||||
+WARRANTIES, EXPRESSED OR IMPLIED. ANY IMPLIED WARRANTY OR CONDITION OF
|
||||
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE IS LIMITED IN
|
||||
+DURATION TO THE WARRANTY PERIOD. SOME STATES DO NOT ALLOW LIMITATIONS
|
||||
+ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATIONS MAY NOT
|
||||
+APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS AND YOU MAY
|
||||
+ALSO HAVE OTHER LEGAL RIGHTS WHICH VARY FROM STATE TO STATE.
|
||||
+
|
||||
+
|
||||
+7. CUSTOMER REMEDIES
|
||||
+
|
||||
+YOUR SOLE AND EXCLUSIVE REMEDY AND ML'S SOLE LIABILITY HEREUNDER
|
||||
+SHALL BE, UPON YOUR RETURN OF THE SOFTWARE TO ML WITH THE RECEIPT
|
||||
+WITHIN THE WARRANTY PERIOD, AT ML'S OPTION, REPLACEMENT OR REPAIR
|
||||
+OF SOFTWARE THAT DOES NOT MEET ML'S LIMITED WARRANTY OR A REFUND OF
|
||||
+THE SOFTWARE'S PURCHASE PRICE. ML'S SUPPLIERS SHALL NOT BE HELD TO
|
||||
+ANY LIABILITY FOR ANY DAMAGES SUFFERED OR INCURRED BY YOU. IN NO EVENT
|
||||
+SHALL ML OR ITS SUPPLIERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY
|
||||
+INCIDENTAL, COLLATERAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
|
||||
+WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF CUSTOMERS,
|
||||
+LOSS OF GOOD WILL, WORK STOPPAGE, DATA LOSS, COMPUTER FAILURE OR
|
||||
+MALFUNCTION, CLAIMS BY ANY PARTY OTHER THAN YOU, OR ANY OR ALL OTHER
|
||||
+SIMILAR DAMAGES OR LOSS EVEN IF ML, ITS SUPPLIERS, OR ITS AGENT HAS
|
||||
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT
|
||||
+ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
|
||||
+DAMAGES, SO THE ABOVE LIMITATIONS OR EXCLUSION MAY NOT APPLY TO YOU.
|
||||
+
|
||||
+ML shall have no liability or responsibility for Software altered,
|
||||
+modified, or converted by you or a third party, damages resulting
|
||||
+from accident, abuse, or misapplication, or for problems due to the
|
||||
+malfunction of your equipment or software not supplied by ML.
|
||||
+
|
||||
+
|
||||
+8. TERMINATION
|
||||
+
|
||||
+This License is in effect until terminated and terminates without
|
||||
+notice from ML if you fail to comply with any of its provisions.
|
||||
+Upon termination you shall either destroy the Software and all copies
|
||||
+or portions thereof or return the Software and all copies as portions
|
||||
+thereof to ML.
|
||||
+
|
||||
+
|
||||
+9. GENERAL
|
||||
+
|
||||
+This License is governed by the laws of the State of Florida. This
|
||||
+License represents the entire statement of the understandings and
|
||||
+agreements among the parties.
|
||||
+
|
||||
+
|
||||
+10. U.S. GOVERNMENT RESTRICTED RIGHTS
|
||||
+
|
||||
+This Software and documentation is provided with RESTRICTED RIGHTS.
|
||||
+Use, duplication, or disclosure by the Government is subject to
|
||||
+restrictions as set forth in subparagraph (c)(1)(ii) of the Rights
|
||||
+in Technical Data and Computer FAR 52.227-14 (Alternate III) or the
|
||||
+Software clause at DFAR 252.227-7013. Contractor/manufacturer is
|
||||
+METRO LINK INCORPORATED, 4711 North Powerline Road, Fort Lauderdale,
|
||||
+FL 33309.
|
||||
+
|
||||
+Metro Link Motif Complete!, Metro Link Motif, Metro-X, Metro
|
||||
+Extreme 3D, Metro OpenGL, Metro-Xv, and Metro-XIE are trademarks
|
||||
+of Metro Link Incorporated.
|
||||
+
|
||||
+XRT, XRT/graph, XRT/field, XRT/gear, XRT/3d, and XRT/table are
|
||||
+trademarks of KL Group Incorporated.
|
||||
--- motif-2.1.10.orig/debian/rules
|
||||
+++ motif-2.1.10/debian/rules
|
||||
@@ -0,0 +1,113 @@
|
||||
+#!/usr/bin/make -f
|
||||
+# debian/rules that uses debhelper and alien
|
||||
+# GNU copyright 1997 by Joey Hess.
|
||||
+
|
||||
+SHELL = /bin/sh
|
||||
+
|
||||
+package := $(shell basename `pwd` | sed 's/-[0-9].*//')
|
||||
+version := $(shell basename `pwd` | tr -cd '[0-9.]')
|
||||
+major := $(word 1,$(subst ., ,$(version)))
|
||||
+minor := $(word 2,$(subst ., ,$(version)))
|
||||
+
|
||||
+mwmrc := etc/X11/mwm/system.mwmrc
|
||||
+
|
||||
+# Uncomment this to turn on verbose mode.
|
||||
+#export DH_VERBOSE=1
|
||||
+
|
||||
+# This is the debhelper compatability version to use.
|
||||
+export DH_COMPAT=1
|
||||
+
|
||||
+motif-version:
|
||||
+ sed -e 's/#PACKAGE#/$(package)/' -e 's/#VERS#/$(version)/' debian/changelog-template >debian/changelog
|
||||
+
|
||||
+build: motif-version
|
||||
+ dh_testdir
|
||||
+
|
||||
+clean: motif-version
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean debian/conffiles debian/menu
|
||||
+
|
||||
+# Build architecture-independent files here.
|
||||
+binary-indep: build
|
||||
+# We have nothing to do by default.
|
||||
+
|
||||
+# Build architecture-dependent files here.
|
||||
+binary-arch: build
|
||||
+# dh_testversion
|
||||
+ dh_testdir
|
||||
+ dh_testroot
|
||||
+ dh_clean -k
|
||||
+ dh_installdirs
|
||||
+ tar -cf - --exclude=debian --exclude='./usr/doc' --exclude='*.so.?' --exclude='*.so' . | tar -xpf - -C debian/tmp
|
||||
+#
|
||||
+# If you need to move files around in debian/tmp or do some
|
||||
+# binary patching ... Insert it here
|
||||
+#
|
||||
+ -ln -fs libMrm.so.$(major).$(minor) debian/tmp/usr/X11R6/lib/libMrm.so.$(major)
|
||||
+ -ln -fs libUil.so.$(major).$(minor) debian/tmp/usr/X11R6/lib/libUil.so.$(major)
|
||||
+ -ln -fs libXm.so.$(major).$(minor) debian/tmp/usr/X11R6/lib/libXm.so.$(major)
|
||||
+# Move system.mwmrc to /etc/X11/mwm/system.mwmrc.
|
||||
+ @mwmrc=`find debian/tmp -name system.mwmrc -type f -printf '%P\t' | cut -f1`; \
|
||||
+ if [ "$$mwmrc" != $(mwmrc) ]; then \
|
||||
+ echo "Moving /$$mwmrc to $(mwmrc)"; \
|
||||
+ mv debian/tmp/$$mwmrc debian/tmp/$(mwmrc); \
|
||||
+ dh_link $(mwmrc) $$mwmrc; \
|
||||
+ fi
|
||||
+# Move /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults.
|
||||
+ @if [ -d debian/tmp/usr/X11R6/lib/X11/app-defaults ]; then \
|
||||
+ echo "Moving /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults"; \
|
||||
+ mv debian/tmp/usr/X11R6/lib/X11/app-defaults debian/tmp/etc/X11; \
|
||||
+ fi
|
||||
+# Install the menu method and /etc/X11/mwm/system.mwmrc-menu.
|
||||
+ @echo "Installing menu method"
|
||||
+ @sed -e 's/#PACKAGE#/$(package)/' debian/menu-template >debian/menu
|
||||
+ @install -m 0755 debian/mwm-menumethod debian/tmp/etc/menu-methods
|
||||
+ @cp debian/etcmwmrc debian/tmp/$(mwmrc)-menu
|
||||
+ @echo "include-menu-defs" >>debian/tmp/$(mwmrc)-menu
|
||||
+# Find the configuration files.
|
||||
+ @echo "Looking for configuration files"
|
||||
+ @echo "/$(mwmrc)-menu" >debian/conffiles
|
||||
+ @find debian/tmp/etc -name system.fpanelrc -type f -printf '/etc/%P\n' >>debian/conffiles
|
||||
+ @if [ -d debian/tmp/etc/X11/app-defaults ]; then \
|
||||
+ find debian/tmp/etc/X11/app-defaults -type f -printf '/etc/X11/app-defaults/%P\n' >>debian/conffiles; \
|
||||
+ fi
|
||||
+# Fix mxterm.
|
||||
+ @if [ -f debian/tmp/usr/X11R6/bin/mxterm ]; then \
|
||||
+ echo "Fixing mxterm"; \
|
||||
+ perl -pi -e 's/libtermcap\.so\.2/libncurses.so.5/' debian/tmp/usr/X11R6/bin/mxterm; \
|
||||
+ fi
|
||||
+# Copy documentation.
|
||||
+ @if [ -d usr/doc ]; then \
|
||||
+ echo "Copying documentation"; \
|
||||
+ mkdir -p debian/tmp/usr/share/doc/$(package); \
|
||||
+ cp -a usr/doc/*/* debian/tmp/usr/share/doc/$(package); \
|
||||
+ fi
|
||||
+ dh_installwm --priority=40 mwm
|
||||
+ dh_installdocs
|
||||
+ dh_installexamples
|
||||
+ dh_installmenu
|
||||
+# dh_installinit
|
||||
+# dh_installcron
|
||||
+# dh_installmanpages
|
||||
+# dh_undocumented
|
||||
+ dh_installchangelogs
|
||||
+ dh_strip
|
||||
+ dh_compress
|
||||
+ dh_fixperms
|
||||
+ @if [ -f debian/tmp/usr/X11R6/bin/mxterm ]; then \
|
||||
+ chown root:utmp debian/tmp/usr/X11R6/bin/mxterm; \
|
||||
+ chmod 2755 debian/tmp/usr/X11R6/bin/mxterm; \
|
||||
+ fi
|
||||
+ dh_installdeb
|
||||
+# -dh_shlibdeps
|
||||
+ dh_gencontrol
|
||||
+ dh_makeshlibs
|
||||
+ dh_md5sums
|
||||
+ dh_builddeb
|
||||
+
|
||||
+source diff:
|
||||
+ @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
|
||||
+
|
||||
+binary: binary-indep binary-arch
|
||||
+.PHONY: build clean binary-indep binary-arch binary motif-version
|
||||
--- motif-2.1.10.orig/debian/mwm-menumethod
|
||||
+++ motif-2.1.10/debian/mwm-menumethod
|
||||
@@ -0,0 +1,30 @@
|
||||
+#!/usr/sbin/install-menu
|
||||
+# -*- mode: shell-script; -*-
|
||||
+#I need menu-1!
|
||||
+#
|
||||
+#NOTE: the first line of this script _must_ be
|
||||
+# equal to "#!/usr/sbin/install-menu", otherwise update-menus
|
||||
+# will feed this script old-compat-mode data.
|
||||
+#
|
||||
+#More info: /usr/share/doc/menu/README.
|
||||
+#
|
||||
+compat="menu-1"
|
||||
+
|
||||
+!include menu.h
|
||||
+
|
||||
+function mwmcommon($c)=\
|
||||
+ "\t\"" title() "\"\tf.exec \"" replacewith($c,"\"","'") " &\"\n"
|
||||
+
|
||||
+supported
|
||||
+ x11 =mwmcommon($command)
|
||||
+ text=mwmcommon(term())
|
||||
+endsupported
|
||||
+startmenu= "Menu \"" $section "\"\n{\n\t\"" \
|
||||
+ ifelse(title(),title(),"Debian") "\"\tf.title\n"
|
||||
+endmenu= "}\n"
|
||||
+submenutitle=" \"" title() "\" f.menu \"" $section "\"\n"
|
||||
+genmenu= "menudefs.hook"
|
||||
+rcfile= "system.mwmrc"
|
||||
+examplercfile="system.mwmrc-menu"
|
||||
+rootprefix= "/etc/X11/mwm/"
|
||||
+userprefix= "/.mwm/"
|
||||
--- motif-2.1.10.orig/debian/etcmwmrc
|
||||
+++ motif-2.1.10/debian/etcmwmrc
|
||||
@@ -0,0 +1,103 @@
|
||||
+!!
|
||||
+!! Root Menu Description
|
||||
+!!
|
||||
+
|
||||
+Menu DefaultRootMenu
|
||||
+{
|
||||
+ "Root Menu" f.title
|
||||
+ "Debian" f.menu "/Debian"
|
||||
+ "New Window" f.exec "x-terminal-emulator &"
|
||||
+ "Shuffle Up" f.circle_up
|
||||
+ "Shuffle Down" f.circle_down
|
||||
+ "Refresh" f.refresh
|
||||
+ "Pack Icons" f.pack_icons
|
||||
+! "Toggle Behavior..." f.set_behavior
|
||||
+ no-label f.separator
|
||||
+ "Restart..." f.restart
|
||||
+ "Quit..." f.quit_mwm
|
||||
+}
|
||||
+
|
||||
+!!
|
||||
+!! Default Window Menu
|
||||
+!!
|
||||
+Menu DefaultWindowMenu
|
||||
+{
|
||||
+ "Make Pinned" f.toggle_pin_state
|
||||
+ no-label f.separator
|
||||
+ Restore _R Alt<Key>F5 f.restore
|
||||
+ Move _M Alt<Key>F7 f.move
|
||||
+ Size _S Alt<Key>F8 f.resize
|
||||
+ Minimize _n Alt<Key>F9 f.minimize
|
||||
+ Maximize _x Alt<Key>F10 f.maximize
|
||||
+ Raise _a Alt<Key>F2 f.raise
|
||||
+ Lower _L Alt<Key>F3 f.lower
|
||||
+ no-label f.separator
|
||||
+ Close _C Alt<Key>F4 f.kill
|
||||
+}
|
||||
+
|
||||
+
|
||||
+!!
|
||||
+!! Default Key Bindings
|
||||
+!!
|
||||
+Keys DefaultKeyBindings
|
||||
+{
|
||||
+ Shift<Key>Escape window|icon f.post_wmenu
|
||||
+ Alt<Key>space window|icon f.post_wmenu
|
||||
+ Alt<Key>Tab root|icon|window f.next_key
|
||||
+ Alt Shift<Key>Tab root|icon|window f.prev_key
|
||||
+ Alt<Key>Escape root|icon|window f.circle_down
|
||||
+ Alt Shift<Key>Escape root|icon|window f.circle_up
|
||||
+ Alt Shift Ctrl<Key>exclam root|icon|window f.set_behavior
|
||||
+ Alt<Key>F6 window f.next_key transient
|
||||
+ Alt Shift<Key>F6 window f.prev_key transient
|
||||
+ Shift<Key>F10 icon f.post_wmenu
|
||||
+ Alt Shift<Key>Delete root|icon|window f.restart
|
||||
+}
|
||||
+
|
||||
+!!
|
||||
+!! Button Binding Description(s)
|
||||
+!!
|
||||
+!! These can be used anywhere
|
||||
+!!
|
||||
+Buttons DefaultButtonBindings
|
||||
+{
|
||||
+ <Btn1Down> icon|frame f.raise
|
||||
+ <Btn3Down> icon|frame f.post_wmenu
|
||||
+ <Btn3Down> root f.menu DefaultRootMenu
|
||||
+}
|
||||
+
|
||||
+!!
|
||||
+!! These are some example bindings that you might use if your
|
||||
+!! keyboardFocusPolicy is "explicit". Note that to use these, you'll
|
||||
+!! have to change the Mwm*buttonBindings resource in Mwm to
|
||||
+!! ExplicitButtonBindings instead of DefaultButtonBindings.
|
||||
+!!
|
||||
+Buttons ExplicitButtonBindings
|
||||
+{
|
||||
+ <Btn1Down> frame|icon f.raise
|
||||
+ <Btn3Down> frame|icon f.post_wmenu
|
||||
+ <Btn3Down> root f.menu DefaultRootMenu
|
||||
+! <Btn1Up> icon f.restore
|
||||
+ Alt<Btn1Down> window|icon f.lower
|
||||
+! Alt<Btn2Down> window|icon f.resize
|
||||
+! Alt<Btn3Down> window|icon f.move
|
||||
+}
|
||||
+
|
||||
+!! These are some example bindings that you might use if your
|
||||
+!! keyboardFocusPolicy is "pointer". Note that to use these, you'll
|
||||
+!! have to change the Mwm*buttonBindings resource in Mwm to
|
||||
+!! PointerButtonBindings instead of DefaultButtonBindings.
|
||||
+!!
|
||||
+Buttons PointerButtonBindings
|
||||
+{
|
||||
+ <Btn1Down> frame|icon f.raise
|
||||
+ <Btn3Down> frame|icon f.post_wmenu
|
||||
+ <Btn3Down> root f.menu DefaultRootMenu
|
||||
+ <Btn1Down> window f.raise
|
||||
+! <Btn1Up> icon f.restore
|
||||
+ Alt<Btn1Down> window|icon f.lower
|
||||
+! Alt<Btn2Down> window|icon f.resize
|
||||
+! Alt<Btn3Down> window|icon f.move
|
||||
+}
|
||||
+
|
||||
+!include-menu-defs
|
||||
--- motif-2.1.10.orig/debian/dirs
|
||||
+++ motif-2.1.10/debian/dirs
|
||||
@@ -0,0 +1,4 @@
|
||||
+etc/X11/mwm
|
||||
+etc/menu-methods
|
||||
+usr/X11R6/bin
|
||||
+usr/X11R6/lib
|
||||
--- motif-2.1.10.orig/debian/changelog-template
|
||||
+++ motif-2.1.10/debian/changelog-template
|
||||
@@ -0,0 +1,37 @@
|
||||
+#PACKAGE# (#VERS#-7) unstable; urgency=low
|
||||
+
|
||||
+ * Mwm is registered with dh_installwm.
|
||||
+ * Disabled dh_undocumented.
|
||||
+ * Removed dh_suidregister.
|
||||
+ * The virtual package `x-terminal-emulator' is no longer provided since
|
||||
+ Metro Link's latest Motif release doesn't contain mxterm anymore.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Tue, 16 Jan 2001 12:17:38 +0100
|
||||
+
|
||||
+#PACKAGE# (#VERS#-6) unstable; urgency=low
|
||||
+
|
||||
+ * Moved app-defaults directory to /etc/X11.
|
||||
+ * Depends on xlibs.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Sat, 9 Dec 2000 08:45:11 +0100
|
||||
+
|
||||
+#PACKAGE# (#VERS#-5) unstable; urgency=low
|
||||
+
|
||||
+ * Made mxterm use libncurses.so.5 instead of libtermcap.so.2.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Mon, 3 Jan 2000 09:50:03 +0100
|
||||
+
|
||||
+#PACKAGE# (#VERS#-4) unstable; urgency=low
|
||||
+
|
||||
+ * Converted from RPM binary format to Debian.
|
||||
+ * Removed *.so symlinks.
|
||||
+ * Made mxterm use libncurses.so.4 instead of libtermcap.so.2.
|
||||
+ * Enabled dh_undocumented, dh_fixperms and dh_strip.
|
||||
+ * Added menu file and menu method.
|
||||
+ * Added maintainer scripts.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Tue, 16 Nov 1999 19:31:03 +0100
|
||||
+
|
||||
+Local variables:
|
||||
+mode: debian-changelog
|
||||
+End:
|
||||
--- motif-2.1.10.orig/debian/postinst
|
||||
+++ motif-2.1.10/debian/postinst
|
||||
@@ -0,0 +1,7 @@
|
||||
+#!/bin/sh -e
|
||||
+
|
||||
+if [ "$1" = "configure" ]; then
|
||||
+ ldconfig
|
||||
+fi
|
||||
+
|
||||
+#DEBHELPER#
|
||||
--- motif-2.1.10.orig/debian/README.Debian
|
||||
+++ motif-2.1.10/debian/README.Debian
|
||||
@@ -0,0 +1,10 @@
|
||||
+Motif for Debian
|
||||
+----------------
|
||||
+
|
||||
+For compatibility with Lesstif the Motif window manager configuration
|
||||
+file system.mwmrc is placed in /etc/X11/mwm on Debian systems.
|
||||
+
|
||||
+If the `menu' package is installed, system.mwmrc is automatically
|
||||
+generated from /etc/X11/mwm/system.mwmrc-menu.
|
||||
+
|
||||
+ -- Andreas Voegele <andreas.voegele@gmx.de> Tue, 16 Nov 1999 19:31:03 +0100
|
||||
--- motif-2.1.10.orig/debian/menu-template
|
||||
+++ motif-2.1.10/debian/menu-template
|
||||
@@ -0,0 +1,6 @@
|
||||
+?package(#PACKAGE#):\
|
||||
+ needs="wm"\
|
||||
+ section="WindowManagers"\
|
||||
+ title="Mwm"\
|
||||
+ longtitle="Motif window manager"\
|
||||
+ command="/usr/X11R6/bin/mwm"
|
||||
Reference in New Issue
Block a user