From e546405fae0135d52259bc88e1b61a11b848ba3c Mon Sep 17 00:00:00 2001 From: joey Date: Sun, 5 Sep 1999 06:03:10 +0000 Subject: [PATCH] Initial revision --- TODO | 1 + gendiff.txt | 15 + lib/Alien.pm | 175 ++++++ lib/Fromdeb.pm | 131 +++++ lib/Fromrpm.pm | 128 +++++ lib/Fromslp.pm | 139 +++++ lib/Fromtgz.pm | 96 ++++ lib/Slp.pm | 41 ++ lib/Todeb.pm | 113 ++++ lib/Torpm.pm | 109 ++++ lib/Toslp.pm | 132 +++++ lib/Totgz.pm | 67 +++ lib/test | 4 + lib/to-deb/rpm/conffiles | 1 + lib/to-deb/rpm/rules | 54 ++ lib/to-deb/slp/changelog | 9 + lib/to-deb/slp/control | 10 + lib/to-deb/slp/copyright | 4 + patches/apxeng_4.4.1-13.diff | 104 ++++ patches/axbase_4.4.1-13.diff | 150 +++++ patches/axfont_4.4.1-13.diff | 114 ++++ patches/axlang_4.4.1-13.diff | 107 ++++ patches/xbf-i740-glibc_1.0.0-3.diff | 636 +++++++++++++++++++++ patches/xf86config-glibc_1.0.0.i386-1.diff | 115 ++++ patches/xf86config-glibc_1.0.0.i386-3.diff | 296 ++++++++++ 25 files changed, 2751 insertions(+) create mode 100644 TODO create mode 100644 gendiff.txt create mode 100644 lib/Alien.pm create mode 100644 lib/Fromdeb.pm create mode 100644 lib/Fromrpm.pm create mode 100644 lib/Fromslp.pm create mode 100644 lib/Fromtgz.pm create mode 100644 lib/Slp.pm create mode 100644 lib/Todeb.pm create mode 100644 lib/Torpm.pm create mode 100644 lib/Toslp.pm create mode 100644 lib/Totgz.pm create mode 100644 lib/test create mode 100644 lib/to-deb/rpm/conffiles create mode 100755 lib/to-deb/rpm/rules create mode 100644 lib/to-deb/slp/changelog create mode 100644 lib/to-deb/slp/control create mode 100644 lib/to-deb/slp/copyright create mode 100644 patches/apxeng_4.4.1-13.diff create mode 100644 patches/axbase_4.4.1-13.diff create mode 100644 patches/axfont_4.4.1-13.diff create mode 100644 patches/axlang_4.4.1-13.diff create mode 100644 patches/xbf-i740-glibc_1.0.0-3.diff create mode 100644 patches/xf86config-glibc_1.0.0.i386-1.diff create mode 100644 patches/xf86config-glibc_1.0.0.i386-3.diff diff --git a/TODO b/TODO new file mode 100644 index 0000000..4b5616f --- /dev/null +++ b/TODO @@ -0,0 +1 @@ +* handling postinst script when converting to/from .slp packages. diff --git a/gendiff.txt b/gendiff.txt new file mode 100644 index 0000000..296d7d0 --- /dev/null +++ b/gendiff.txt @@ -0,0 +1,15 @@ +Alien can use special diff files to help make alien packages conform to +debian policy. This is only used when you are converting to deb format. This +documents breifly explains how to make them. It assumes you are familiar with +working with debian source packages. + +* Use "alien -g file.rpm" to generate a "source" directory tree. +* Make whatever changes you need to make to debian/rules, add other files, + whatever. +* Use dpkg-buildpackage to generate a standard debian .diff.gz file, and + stick it in /var/lib/alien. +* Test "alien file.rpm" - it should use your diff. If it works properly, + (it's best if lintian is happy with the resulting .deb too), send the + .diff.gz file to me for inclusion in alien. + +-- Joey Hess diff --git a/lib/Alien.pm b/lib/Alien.pm new file mode 100644 index 0000000..9c29cc9 --- /dev/null +++ b/lib/Alien.pm @@ -0,0 +1,175 @@ +#!/usr/bin/perl +# +# Misc. functions used by alien. + +package Alien; + +use strict; + +# Print out a status line. +sub Status { my $message=shift; + print "-- $message\n"; +} + +# Print out an error message and exit the program. +sub Error { my $message=shift; + print STDERR "alien: $message\n"; + exit 1; +} + +# Run a system command, and print an error message if it fails. +# The errormessage parameter is optional. +sub SafeSystem { my ($command,$errormessage)=@_; + my $ret=system $command; + if (int($ret/256) > 0) { + $errormessage="Error running: $command" if !$errormessage; + Error($errormessage); + } +} + +# Make the passed directory. Exits with error if the directory already +# exists. +sub SafeMkdir { my ($dir)=@_; + if (-e $dir) { + Error("Directory $dir already exists.\nRemove it and re-run alien."); + } + mkdir $dir,0755 || Error("Unable to make directory, \"$dir\": $!"); +} + +# Pass the filename of a package. +# Returns "rpm" or "tgz" or "deb", depending on what it thinks the file type +# is, based on the filename. +# Perhaps this should call file(1), instead? +# +# Note that the file type this returns corresponds to directories in +# $libdir. +sub FileType { my $file=shift; + if ($file=~m/.*\.rpm/ ne undef) { + return 'rpm'; + } + elsif ($file=~m/.*\.(tgz|tar\.gz)/ ne undef) { + return 'tgz'; + } + elsif ($file=~m/.*\.deb/ ne undef) { + return 'deb'; + } + else { + Error("Format of filename bad: $file"); + } +} + +# Pass this the name and version and revision of a package, it will return the +# filename of a patch file for the package or undef if there is none. +sub GetPatch { my ($name,$version,$revision)=@_; + my @patches=glob("$main::patchdir/$name\_$version-$revision*.diff.gz"); + if ($#patches < 0) { + # try not matching the revision, see if that helps. + @patches=glob("$main::patchdir/$name\_$version*.diff.gz"); + if ($#patches < 0) { + # fallback to anything that matches the name. + @patches=glob("$main::patchdir/$name\_*.diff.gz"); + } + } + + # If we ended up with multiple matches, return the first. + return $patches[0]; +} + +# Apply the given patch file to the given subdirectory. +sub Patch { my ($patchfile,$subdir)=@_; + Status("Patching in $patchfile"); + chdir $subdir; + # cd .. here in case the patchfile's name was a relative path. + # The -f passed to zcat makes it pass uncompressed files through + # without error. + SafeSystem("(cd ..;zcat -f $patchfile) | patch -p1","Patch error.\n"); + # look for .rej files + if (`find . -name "*.rej"`) { + Error("Patch failed: giving up."); + } + SafeSystem('find . -name \'*.orig\' -exec rm {} \\;',"Error removing .orig files"); + chdir ".."; +} + +# Returns the 822-date. +sub GetDate { + my $date=`822-date`; + chomp $date; + if (!$date) { + Error("822-date did not return a valid result.\n"); + } + + return $date; +} + +# Returns a email address for the current user. +sub GetEmail { + if (!$ENV{EMAIL}) { + my $login = getlogin || (getpwuid($<))[0] || $ENV{USER}; + open (MAILNAME,"; + chomp $mailname; + close MAILNAME; + if (!$mailname) { + $mailname=`hostname -f`; + chomp $mailname; + } + return "$login\@$mailname"; + } + else { + return $ENV{EMAIL}; + } +} + +# Returns the user name of the user who is running this. +sub GetUserName { + my $username; + my $username_in_passwd=undef; + + my $login = getlogin || (getpwuid($<))[0] || $ENV{USER}; + + open (PASSWD,") { + my (@fields)=split(/:/,$_); + if ($fields[0] eq $login) { + $username=$fields[4]; + $username_in_passwd=1; # don't try NIS, no matter what. + close PASSWD; + } + } + close PASSWD; + + if (!$username_in_passwd && !$username && -x "/usr/bin/ypmatch") { + # Give NIS a try. + open (YPMATCH,"ypmatch $login passwd.byname |"); + my (@fields)=split(/:/,); + $username=$fields[4]; + close YPMATCH; + } + + # Remove GECOS(?) fields from username. + $username=~s/,.*//g; + + # The ultimate fallback. + if (!$username) { + $username=$login; + } + + return $username; +} + +# Fill out a template, and save it to the passed location. +# The hash that is passed to this function lists the tags that can be onthe +# template, and the values to fill in for those tags. +sub FillOutTemplate { my ($fn,$destfn,%fields)=@_; + open (IN,"<$fn") || Error("$fn: $!"); + open (OUT,">$destfn") || Error("$destfn: $!"); + while () { + s/#(.*?)#/$fields{$1}/g; + print OUT $_; + } + close OUT; + close IN; +} + +1 diff --git a/lib/Fromdeb.pm b/lib/Fromdeb.pm new file mode 100644 index 0000000..1558151 --- /dev/null +++ b/lib/Fromdeb.pm @@ -0,0 +1,131 @@ +#!/usr/bin/perl +# +# Package for converting from a .deb file. + +package From::deb; + +use strict; + +# Global variable initialization. + +# This is set to 1 if dpkg-deb is in the path. +my $dpkg_deb=undef; +my $dir; +foreach $dir (split(/:/,$ENV{PATH})) { + if (-x "$dir/dpkg-deb") { + $dpkg_deb=1; + last; + } +} + +# Query a deb file for fields, and return a hash of the fields found. +# Pass the filename of the deb file to query. +sub GetFields { my ($self,$file)=@_; + my %fields; + + # Extract the control file from the deb file. + my @control; + if ($dpkg_deb) { + @control = `dpkg-deb --info $file control`; + } + else { + @control = `ar p $file control.tar.gz | tar Oxzf - control`; + } + + # Parse control file and extract fields. + my $i=0; + while ($i<=$#control) { + $_ = $control[$i]; + chomp; + $fields{NAME} = $1 if (/^Package: (.+)/i); + $fields{VERSION} = $1 if (/^Version: (.+)/i); + $fields{ARCH} = $1 if (/^Architecture: (.+)/i); + $fields{MAINTAINER} = $1 if (/^Maintainer: (.+)/i); + $fields{DEPENDS} = $1 if (/^Depends: (.+)/i); + $fields{REQUIRES} = $1 if (/^Requires: (.+)/i); + $fields{GROUP} = $1 if (/^Section: (.+)/i); + if (/^Description: (.+)/i) { + $fields{SUMMARY} = "$1"; + $i++; + while (($i<=$#control) && ($control[$i])) { + $control[$i] =~ s/^ //g; #remove leading space + $control[$i] = "\n" if ($control[$i] eq ".\n"); + $fields{DESCRIPTION}.=$control[$i]; + $i++; + } + $i--; + } + $i++; + } + + $fields{COPYRIGHT}="see /usr/doc/$fields{NAME}/copyright"; + $fields{GROUP}="unknown" if (!$fields{GROUP}); + $fields{DISTRIBUTION}="Debian"; + if ($fields{VERSION} =~ /(.+)-(.+)/) { + $fields{VERSION} = $1; + $fields{RELEASE} = $2; + } else { + $fields{RELEASE} = '1'; + } + # Just get rid of epochs for now. + if ($fields{VERSION} =~ /\d+:(.*)/) { + $fields{VERSION} = $1; + } + + # Read in the list of conffiles, if any. + if ($dpkg_deb) { + $fields{CONFFILES}=`dpkg-deb --info $file conffiles 2>/dev/null`; + } + else { + $fields{CONFFILES}= + `ar p $file control.tar.gz | tar Oxzf - conffiles 2>/dev/null`; + } + + # Read in the list of all files. + # Note that tar doesn't supply a leading `/', so we have to add that. + $fields{FILELIST}=undef; + if ($dpkg_deb) { + my $fn; + foreach $fn (`dpkg-deb --fsys-tarfile $file | tar tf -`) { + $fields{FILELIST}.="/$fn"; + } + } + else { + my $fn; + foreach $fn (`ar p $file data.tar.gz | tar tzf -`) { + $fields{FILELIST}.="/$fn"; + } + } + + if ($main::scripts) { + # Read in the scripts, if any. + my $field; + for $field ('postinst', 'postrm', 'preinst', 'prerm') { + if ($dpkg_deb) { + $fields{uc($field)}=`dpkg-deb --info $file $field 2>/dev/null`; + } + else { + $fields{uc($field)}= + `ar p $file control.tar.gz | tar Oxzf - $field 2>/dev/null`; + } + } + } + + $fields{RELEASE}++ unless $main::keep_version; + + return %fields; +} + +# Handles unpacking of debs. +sub Unpack { my ($self,$file,%fields)=@_; + if ($dpkg_deb) { + Alien::SafeSystem ("(cd ..;dpkg-deb -x $file $fields{NAME}-$fields{VERSION})", + "Error unpacking $file\n"); + } + else { + Alien::SafeSystem ("(cd ..;ar p $file data.tar.gz) | tar zxpf -", + "Error unpacking $file\n"); + } +} + +1 diff --git a/lib/Fromrpm.pm b/lib/Fromrpm.pm new file mode 100644 index 0000000..d4dc0a0 --- /dev/null +++ b/lib/Fromrpm.pm @@ -0,0 +1,128 @@ +#!/usr/bin/perl +# +# Package for converting from a .rpm file. + +package From::rpm; + +use strict; + +# Query a rpm file for fields, and return a hash of the fields found. +# Pass the filename of the rpm file to query. +sub GetFields { my ($self,$file)=@_; + my %fields; + + # This maps rpm fields (the keys) to the name we want + # for each field (the values). + my %fieldtrans; + + # Get the scripts fields too? + if ($main::scripts) { + %fieldtrans=( + 'PREIN' => 'PREINST', + 'POSTIN' => 'POSTINST', + 'PREUN' => 'PRERM', + 'POSTUN' => 'POSTRM', + ); + } + + # These fields need no translation. + my $field; + foreach $field ('NAME','VERSION','RELEASE','ARCH','CHANGELOGTEXT','SUMMARY', + 'DESCRIPTION', 'COPYRIGHT', 'DEFAULTPREFIX') { + $fieldtrans{$field}=$field; + } + + # Use --queryformat to pull out all the fields we need. + foreach $field (keys(%fieldtrans)) { + $_=`rpm -qp $file --queryformat \%{$field}`; + $fields{$fieldtrans{$field}}=$_ if $_ ne '(none)'; + } + + if ($main::scripts) { + # Fix up the scripts - they are always shell scripts, so make them so. + foreach $field ('PREINST','POSTINST','PRERM','POSTRM') { + $fields{$field}="#!/bin/sh\n$fields{$field}" if $fields{$field}; + } + } + + # Get the conffiles list. + # TOCHECK: if this is a relocatable package and DEFAULTPREFIX is set, + # do we need to prepend DEFAULTPREFIX to each of these filenames? + $fields{CONFFILES}=`rpm -qcp $file`; + + # Include the output of rpm -qi in the copyright file. + $fields{COPYRIGHT_EXTRA}=`rpm -qpi $file`; + + # Sanity check fields. + if (!$fields{SUMMARY}) { + # Older rpms will have no summary, but will have a + # description. We'll take the 1st line out of the + # description, and use it for the summary. + ($fields{SUMMARY})=($fields{DESCRIPTION}."\n")=~m/(.*?)\n/m; + + # Fallback. + if (!$fields{SUMMARY}) { + $fields{SUMMARY}="Converted RPM package"; + } + } + if (!$fields{COPYRIGHT}) { + $fields{COPYRIGHT}="unknown"; + } + if (!$fields{DESCRIPTION}) { + $fields{DESCRIPTION}=$fields{SUMMARY}; + } + + # Convert ARCH into string, if it isn't already a string. + if ($fields{ARCH} eq 1) { + $fields{ARCH}='i386'; + } + elsif ($fields{ARCH} eq 2) { + $fields{ARCH}='alpha'; + } + elsif ($fields{ARCH} eq 3) { + $fields{ARCH}='sparc'; + } + elsif ($fields{ARCH} eq 6) { + $fields{ARCH}='m68k'; + } + elsif ($fields{ARCH} eq "noarch") { # noarch = all + $fields{ARCH}='all'; + } + + if ($fields{RELEASE} eq undef || $fields{VERSION} eq undef|| !$fields{NAME}) { + Alien::Error("Error querying rpm file."); + } + + $fields{RELEASE}++ unless $main::keep_version; + $fields{DISTRIBUTION}="Red Hat"; + + return %fields; +} + +# Unpack a rpm file. +sub Unpack { my ($self,$file,%fields)=@_; + Alien::SafeSystem("(cd ..;rpm2cpio $file) | cpio --extract --make-directories --no-absolute-filenames --preserve-modification-time", + "Error unpacking $file\n"); + if ($fields{DEFAULTPREFIX} ne undef) { + print "Moving unpacked files into $fields{DEFAULTPREFIX}\n"; + + # We have extracted the package, but it's in the wrong place. Move it + # to be under the DEFAULTPREFIX directory. + # First, get a list of files to move. + my $filelist=join ' ',glob('*'); + + # Now, make the destination directory. + my $collect=undef; + foreach (split(m:/:,$fields{DEFAULTPREFIX})) { + if ($_ ne undef) { # this keeps us from using anything but relative paths. + $collect.="$_/"; + mkdir $collect,0755 || Alien::Error("Unable to make directory: $collect: $!"); + } + } + # Now move all files in the package to the directory we made. + Alien::SafeSystem("mv $filelist ./$fields{DEFAULTPREFIX}", + "Error moving unpacked files into the default prefix directory\n"); + } +} + +1 diff --git a/lib/Fromslp.pm b/lib/Fromslp.pm new file mode 100644 index 0000000..81e2edd --- /dev/null +++ b/lib/Fromslp.pm @@ -0,0 +1,139 @@ +#!/usr/bin/perl +# +# Package for converting from a .slp (Stampede) file. + +package From::slp; + +use strict; + +# Becuase .slp files are a binary format we parse by hand, I need to code in +# the details of the structure here. + + # Complete sizeof(slpformat) from slp.h in the stampede package manager source. + $From::slp::footer_size=3784; + + # This is the pack format string for the footer. + $From::slp::footer_packstring="A756IIIIA128A128A80A1536A512A512A30A30IA20A20III"; + + # What package format are we up to now? (Lowest one this is still compatable + # with.) + $From::slp::footer_version=5; + +# Pass it a chunk of footer, it will attempt a decode and spit back the result +# in a hash, %fields. +sub DecodeFooter { my $footer=shift; + my %fields; + + ($fields{CONFFILES}, + $fields{PRIORITY}, + $fields{COMPRESSTYPE}, + $fields{RELEASE}, + $fields{COPYRIGHT}, + $fields{CONFLICTS}, + $fields{SETUPSCRIPT}, + $fields{SUMMARY}, + $fields{DESCRIPTION}, + $fields{DEPENDS}, + $fields{PROVIDES}, + $fields{AUTHOR}, + $fields{DATE}, + $fields{COMPILER}, + $fields{VERSION}, + $fields{NAME}, + $fields{ARCH}, + $fields{GROUP}, + $fields{SLPKGVERSION}, + )=unpack($From::slp::footer_packstring,$footer); + + # A simple sanity check. + if (! $fields{SLPKGVERSION} || $fields{SLPKGVERSION} < $From::slp::footer_version) { + Alien::Error("This is not a V$From::slp::footer_version or greater Stampede package"); + } + + return %fields; +} + +# Pass it a filename of a .slp file, it will pull out a footer and return it +# in a scalar. +sub GetFooter { my ($filename)=@_; + open (SLP,"<$filename") || Alien::Error("unable to read $filename: $!"); + seek SLP,(-1 * $From::slp::footer_size),2; # position at beginning of footer (2 = seek from EOF) + read SLP,$_,$From::slp::footer_size; + close SLP; + return $_; +} + +# Query a slp file for fields, and return a hash of the fields found. +# Pass the filename of the slp file to query. +sub GetFields { my ($self,$file)=@_; + my %fields=DecodeFooter(GetFooter($file)); + + # Massage the fields into appropriate formats. + if ($fields{CONFFILES}) { + $fields{CONFFILES}=~s/:/\n/g; + $fields{CONFFILES}.="\n"; + } + + if ($fields{COPYRIGHT} == 0) { + $fields{COPYRIGHT}="GPL"; + } + elsif ($fields{COPYRIGHT} == 1) { + $fields{COPYRIGHT}="BSD"; + } + elsif ($fields{COPYRIGHT} == 2) { + $fields{COPYRIGHT}="LGPL"; + } + elsif ($fields{COPYRIGHT} == 3) { + $fields{COPYRIGHT}="unknown"; + } + else { + Alien::Warning("I don't know what copyright type \"$fields{COPYRIGHT}\" is."); + $fields{COPYRIGHT}="unknown"; + } + + if ($fields{ARCH} == 0) { + $fields{ARCH}='all'; + } + elsif ($fields{ARCH} == 1) { + $fields{ARCH}='i386'; + } + elsif ($fields{ARCH} == 2) { + $fields{ARCH}='sparc'; + } + elsif ($fields{ARCH} == 3) { + $fields{ARCH}='alpha'; + } + elsif ($fields{ARCH} == 4) { + $fields{ARCH}='powerpc'; + } + elsif ($fields{ARCH} == 5) { + $fields{ARCH}='m68k'; + } + else { + Alien::Error("An unknown architecture of \"$fields{ARCH}\" was specified."); + } + + $fields{RELEASE}++ unless $main::keep_version; + $fields{DISTRIBUTION}="Stampede"; + + # Read in the list of all files. + # Note that they will have a leading "." we don't want. + $fields{FILELIST}=undef; + my $fn; + foreach $fn (`tar -Itf $file`) { + $fn=~s/^\.//; + $fields{FILELIST}.="$fn\n"; + } + + # TODO: read in postinst script. + + return %fields; +} + +# Unpack a slp file. +sub Unpack { my ($self,$file,%fields)=@_; + # Note it's a .tar.bz2, this the -I + Alien::SafeSystem ("(cd ..;cat $file) | tar Ixpf -","Error unpacking $file\n"); +} + +1 diff --git a/lib/Fromtgz.pm b/lib/Fromtgz.pm new file mode 100644 index 0000000..113edca --- /dev/null +++ b/lib/Fromtgz.pm @@ -0,0 +1,96 @@ +#!/usr/bin/perl +# +# Package for converting from a tgz file. + +package From::tgz; + +use strict; + +# Query a tgz file for fields, and return a hash of the fields found. +# Pass the filename of the tgz file to query. +sub GetFields { my ($self,$file)=@_; + my %fields; + + # Get basename of the filename. + my ($basename)=('/'.$file)=~m#^/?.*/(.*?)$#; + + # Strip out any tar extentions. + $basename=~s/\.(tgz|tar\.gz)$//; + + if ($basename=~m/(.*)-(.*)/ ne undef) { + $fields{NAME}=$1; + $fields{VERSION}=$2; + } + else { + $fields{NAME}=$basename; + $fields{VERSION}=1; + } + + $fields{ARCH}='i386'; + if ($main::tgzdescription eq undef) { + $fields{SUMMARY}='Converted Slackware tgz package'; + } + else { + $fields{SUMMARY}=$main::tgzdescription; + } + $fields{DESCRIPTION}=$fields{SUMMARY}; + $fields{COPYRIGHT}="unknown"; + $fields{RELEASE}=1; + $fields{DISTRIBUTION}="Slackware"; + + # Now figure out the conffiles. Assume anything in etc/ is a conffile. + # It's a little nasty to do it here, but it's much cleaner than waiting + # until the tar file is unpacked and then doing it. + $fields{CONFFILES}=''; + open (FILELIST,"tar zvtf $file | grep etc/ |") + || Alien::Error("Getting filelist: $!"); + while () { + # Make sure it's a normal file. This is looking at the + # permissions, and making sure the first character is '-'. + # Ie: -rw-r--r-- + if (m:^-:) { + # Strip it down to the filename. + m/^(.*) (.*)$/; + $fields{CONFFILES}.="/$2\n"; + } + } + close FILELIST; + + # Now get the whole filelist. We have to add leading /'s to the filenames. + # We have to ignore all files under /install/ + $fields{FILELIST}=''; + open (FILELIST, "tar ztf $file |"); + while () { + if ($_=~m:^install/: eq undef) { + $fields{FILELIST}.="/$_"; + } + } + close FILELIST; + + # Now get the scripts. + if ($main::scripts) { + my %scripttrans=( + 'doinst.sh' => 'POSTINST', + 'delete.sh' => 'POSTRM', + 'predelete.sh' => 'PRERM', + 'predoinst.sh' => 'PREINST', + ); + my $script; + foreach $script (keys(%scripttrans)) { + $fields{$scripttrans{$script}}= + `tar Oxzf $file install/$script 2>/dev/null`; + } + } + + return %fields; +} + +# Handles unpacking of tgz's. +sub Unpack { my ($self,$file)=@_; + Alien::SafeSystem ("(cd ..;cat $file) | tar zxpf -","Error unpacking $file\n"); + + # Delete this install directory that has slackware info in it. + Alien::SafeSystem ("rm -rf install"); +} + +1 diff --git a/lib/Slp.pm b/lib/Slp.pm new file mode 100644 index 0000000..4dd4e28 --- /dev/null +++ b/lib/Slp.pm @@ -0,0 +1,41 @@ +#!/usr/bin/perl +# Becuase .slp files are a binary format we parse by hand, I need to code in +# the details of the structure here. + +package slp; + +use strict; + +# Complete sizeof(slpformat) from slp.h in the stampede package manager source. +$slp::footer_size=3784; + +# This is the pack format string for the footer. +# (A=space terminated character, I=unsigned integer.) +$slp::footer_packstring="A756IIIIA128A128A80A1536A512A512A30A30IA20A20III"; + +# What package format are we up to now? (Lowest one this is still compatable +# with.) +$slp::footer_version=5; + +# This is a translation table between architectures and the number +# that represents them in a slp package. +$slp::archtrans={ + 0 => 'all', + 1 => 'i386', + 2 => 'sparc', + 3 => 'alpha', + 4 => 'powerpc', + 5 => 'm68k', +}; + +# This is a translation table between copyrights and the number that +# represents them in a slp package +$slp::copyrighttrans={ + 0 => 'GPL', + 1 => 'BSD', + 2 => 'LGPL', + 3 => 'unknown', + 254 => 'unknown', +}; + +1 diff --git a/lib/Todeb.pm b/lib/Todeb.pm new file mode 100644 index 0000000..cb569ab --- /dev/null +++ b/lib/Todeb.pm @@ -0,0 +1,113 @@ +#!/usr/bin/perl +# +# Package for converting to .deb file. + +package To::deb; + +use strict; + +# Mangle the fields to fit debian standards. +sub FixFields { my ($self,%fields)=@_; + # Make sure package name is all lower case. + $fields{NAME}=lc($fields{NAME}); + # Make sure the package name contains no invalid characters. + $fields{NAME} =~ tr/_/-/; + $fields{NAME} =~ s/[^a-z0-9-\.\+]//g; + + # Fix up the description field to Debian standards (indented at + # least one space, no empty lines.) + my $description=undef; + my $line; + foreach $line (split(/\n/,$fields{DESCRIPTION})) { + $line=~s/\t/ /g; # change tabs to spaces. + $line=~s/\s+$//g; # remove trailing whitespace. + if (!$line) { # empty lines + $line=" ."; + } + else { # normal lines + $line=" $line"; + } + $description.=$line."\n"; + } + chomp $description; + $fields{DESCRIPTION}=$description."\n"; + + return %fields; +} + +# Create debian/* files, either from a patch, or automatically. +sub Convert { my ($self,$workdir,%fields)=@_; + if ($main::generate && !$main::single) { + Alien::SafeSystem("cp -fa $workdir $workdir.orig", "Error creating $workdir.orig"); + } + + # Do the actual conversion here. + mkdir "$fields{NAME}-$fields{VERSION}/debian",0755 + || Alien::Error("Unable to make debian directory"); + my $patchfile=$main::patchfile; + $patchfile=Alien::GetPatch($fields{NAME},$fields{VERSION},$fields{RELEASE}) if !$patchfile; + if ($patchfile) { + Alien::Patch($patchfile,$workdir); + } + else { + $self->AutoDebianize($workdir,%fields); + } + chmod 0755,"$workdir/debian/rules"; + + # Make the .orig directory if we were instructed to do so. + if ($main::single) { + print "Directory $workdir prepared.\n"; + } + elsif ($main::generate) { + print "Directories $workdir and $workdir.orig prepared.\n"; + } +} + +# Fill out templates to create debian/* files. +# Pass it the work directory, and the type of package we are debianizing. +sub AutoDebianize { my ($self,$workdir,%fields)=@_; + Alien::Status("Automatic package debianization"); + + # Generate some more fields we need. + $fields{DATE}=Alien::GetDate(); + $fields{EMAIL}=Alien::GetEmail(); + $fields{USERNAME}=Alien::GetUserName(); + + # Fill out all the templates. + my $fn; + foreach $fn (glob("$main::libdir/to-$main::desttype/$main::filetype/*")) { + my $destfn=$fn; + $destfn=~s#^$main::libdir/to-$main::desttype/$main::filetype/##; + Alien::FillOutTemplate($fn,"$main::workdir/debian/$destfn",%fields); + } + + # Autogenerate the scripts without templates, so the scripts + # only exist if they need to. + my $script; + foreach $script ('postinst','postrm','preinst','prerm') { + if ($fields{uc($script)}) { + open (OUT,">$workdir/debian/$script") || + Alien::Error("$workdir/debian/$script: $!");; + print OUT $fields{uc($script)}; + close OUT; + } + } +} + +# Passed the available info about the package in a hash, return the name of +# the debian package that will be made. +sub GetPackageName { my ($self,%fields)=@_; + return "$fields{NAME}_$fields{VERSION}-$fields{RELEASE}_$fields{ARCH}.deb"; +} + +# Build the debian package. +sub Build { my ($self)=@_; + Alien::SafeSystem("debian/rules binary","Package build failed.\n"); +} + +# Install the debian package that is passed. +sub Install { my ($self,$package)=@_; + Alien::SafeSystem("dpkg --no-force-overwrite -i $package"); +} + +1 diff --git a/lib/Torpm.pm b/lib/Torpm.pm new file mode 100644 index 0000000..2abbed2 --- /dev/null +++ b/lib/Torpm.pm @@ -0,0 +1,109 @@ +#!/usr/bin/perl +# +# Package for converting to .rpm file. + +package To::rpm; + +use strict; + +# Mangle the fields to make rpm happy with them. +sub FixFields { my ($self,%fields)=@_; + # Make sure the version has no dashes in it. + $fields{VERSION} =~ tr/-/_/; + + # Fix up the scripts. Since debian/slackware scripts can be anything, even + # perl programs or binary files, and redhat 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. + my $field; + foreach $field ('POSTINST', 'POSTRM', 'PREINST', 'PRERM') { + if ($fields{$field}) { + $fields{$field}= + "rm -f /tmp/alien.$field\n". + qq{perl -pe '\$_=unpack("u",\$_)' << '__EOF__' > /tmp/alien.$field\n}. + pack("u",$fields{$field}). + "__EOF__\n". + "sh /tmp/alien.$field \"\$@\"\n". + "rm -f /tmp/alien.$field\n"; + } + } + + return %fields; +} + +# Generate the spec file. +sub Convert { my ($self,$workdir,%fields)=@_; + Alien::Status("Automatic spec file generation"); + + # Create some more fields we will need. + my $pwd=`pwd`; + chomp $pwd; + $fields{BUILDROOT}="$pwd/$workdir"; # must be absolute filename. + + # Remove directories from the filelist. Place %config in front of files + # that are conffiles. + my @conffiles=split(/\n/,$fields{CONFFILES}); + my $filelist; + my $fn; + foreach $fn (split(/\n/,$fields{FILELIST})) { + if ($fn=~m:/$: eq undef) { # not a directory + my $efn=quotemeta($fn); + if (grep(m:^$efn$:,@conffiles)) { # it's a conffile + $filelist.="%config $fn\n"; + } + else { # normal file + $filelist.="$fn\n"; + } + } + } + $fields{FILELIST}=$filelist; + + Alien::FillOutTemplate("$main::libdir/to-$main::desttype/$main::filetype/spec", + "$workdir/$fields{NAME}-$fields{VERSION}-$fields{RELEASE}.spec",%fields); + + if ($main::generate) { + print "Directory $workdir prepared.\n"; + } +} + +# Passed the available info about the package in a hash, return the name of +# the rpm package that will be made. +sub GetPackageName { my ($self,%fields)=@_; + + # Ask rpm how it's set up. We want to know what architecture it will output, + # and where it will place rpms. + my ($rpmarch, $rpmdir); + foreach (`rpm --showrc`) { + chomp; + if (/^build arch\s+:\s(.*)$/) { + $rpmarch=$1; + } + elsif (/^rpmdir\s+:\s(.*)$/) { + $rpmdir=$1; + } + } + if (!$rpmarch || !$rpmdir) { + Alien::Error("rpm --showrc failed."); + } + + # Debian's "all" architecture is a special case, and the output rpm will + # be a noarch rpm. + if ($fields{ARCH} eq 'all') { $rpmarch='noarch' } + return "$rpmdir/$rpmarch/$fields{NAME}-$fields{VERSION}-$fields{RELEASE}.$rpmarch.rpm"; +} + +# Build a rpm file. +sub Build { my ($self,%fields)=@_; + # Debian's "all" architecture is a special case where we make noarch rpms. + my $buildarch; + if ($fields{ARCH} eq 'all') { $buildarch="--buildarch noarch" } + Alien::SafeSystem("rpm $buildarch -bb $ENV{RPMBUILDOPT} $fields{NAME}-$fields{VERSION}-$fields{RELEASE}.spec", + "Error putting together the RPM package.\n"); +} + +# Install the passed rpm file. +sub Install { my ($self,$package)=shift; + Alien::SafeSystem("rpm -ivh $ENV{RPMINSTALLOPT} $package"); +} + +1 diff --git a/lib/Toslp.pm b/lib/Toslp.pm new file mode 100644 index 0000000..a551bf5 --- /dev/null +++ b/lib/Toslp.pm @@ -0,0 +1,132 @@ +#!/usr/bin/perl +# +# Package for converting to stampede package format. + +# Pull in details on the binary footer. +use Slp; + +package To::slp; + +use strict; + +# Mangle the fields as necessary for a stampede package. +sub FixFields { my ($self,%fields)=@_; + # Mangle conffiles to the format they want. + $fields{CONFFILES}=~s/\n/:/g; + $fields{CONFFILES}=~s/:$//; + + # Use priority optional for alien packages. + $fields{PRIORITY}=2; + + # I always use bzip2 as the compression type. + $fields{COMPRESSTYPE}=0; + + # Their version of release is a unsigned integer, so I need to + # convert anythnig more compilcated. + $fields{RELEASE}=int($fields{RELEASE}); + + # I don't try to guess copyright, just use unknown. + $fields{COPYRIGHT}=254; + + # I don't try to fill these in with meaningful values. + $fields{CONFLICTS}=""; + $fields{DEPENDS}=""; + $fields{PROVIDES}=""; + + # TODO: + $fields{SETUPSTRIPT}=undef; + + # Let's use the current date for this. + $fields{DATE}=`date`; + chomp $fields{DATE}; + + # Pick a compiler version. + if ($fields{ARCH} eq 'all') { + $fields{COMPILER}=253; # No compiler + } + else { + $fields{COMPILER}=252; # Unknown compiler + } + + # Pick a binary format from the translation table. + $fields{BINFORMAT}=undef; + my $archnum; + foreach $archnum (keys %$slp::archtrans) { + if ($$slp::archtrans{$archnum} eq $fields{ARCH}) { + $fields{BINFORMAT} = $archnum; + last; + } + } + if ($fields{BINFORMAT} eq undef) { + Alien::Error("Stampede does not appear to support architecure $fields{ARCH} packages."); + } + + # This is really the software category; use unknown. + $fields{GROUP}=252; + + $fields{SLPKGVERSION}=$slp::footer_version; + + return %fields; +} + +# Do any necessary conversions on the file tree. +sub Convert { my ($self,$workdir,%fields)=@_; +} + +# Passed the available info about the package in a hash, return the name of +# the slp package that will be made. +sub GetPackageName { my ($self,%fields)=@_; + return "$fields{NAME}-$fields{VERSION}.slp"; +} + +# Returns a slp footer in a scalar. +sub MakeFooter { my %fields=@_; + # We cannot use the actual $slp::footer_packstring, becuase it uses + # space terminated strings (A) instead of null terminated strings (a). + # This is good for decoding, but not for encoding. + $_=$slp::footer_packstring; + tr/A/a/; + + return pack($_,( + $fields{CONFFILES}, + $fields{PRIORITY}, + $fields{COMPRESSTYPE}, + $fields{RELEASE}, + $fields{COPYRIGHT}, + $fields{CONFLICTS}, + $fields{SETUPSCRIPT}, + $fields{SUMMARY}, + $fields{DESCRIPTION}, + $fields{DEPENDS}, + $fields{PROVIDES}, + $fields{AUTHOR}, + $fields{DATE}, + $fields{COMPILER}, + $fields{VERSION}, + $fields{NAME}, + $fields{ARCH}, + $fields{GROUP}, + $fields{SLPKGVERSION}, + )); +} + +# Build a slp file. +# This consists of first generating a .tar.bz2 file, and then appending the +# footer to it. +sub Build { my ($self,%fields)=@_; + # Note the -I is for making a .bzip2 file. + Alien::SafeSystem("tar cIf ../".$self->GetPackageName(%fields)." ."); + + # Now append the footer to that. + open (OUT,">>../".$self->GetPackageName(%fields)) || + Alien::Error("Unable to append footer."); + print OUT MakeFooter(%fields); + close OUT; +} + +# Install the passed slp file. +sub Install { my ($self,$package)=shift; + Alien::SafeSystem("slpi $package"); +} + +1 diff --git a/lib/Totgz.pm b/lib/Totgz.pm new file mode 100644 index 0000000..892aab3 --- /dev/null +++ b/lib/Totgz.pm @@ -0,0 +1,67 @@ +#!/usr/bin/perl +# +# Package for converting to .tgz file. + +package To::tgz; + +use strict; + +sub FixFields { my ($self,%fields)=@_; + # Nothing to do. + + return %fields; +} + +sub Convert { my ($self,$workdir,%fields)=@_; + if ($main::scripts) { + my $install_made=undef; + my %scripttrans=( + 'doinst.sh' => 'POSTINST', + 'delete.sh' => 'POSTRM', + 'predelete.sh' => 'PRERM', + 'predoinst.sh' => 'PREINST', + ); + my $script; + foreach $script (keys(%scripttrans)) { + if ($fields{$scripttrans{$script}}) { + if (!$install_made) { + Alien::Status("Setting up scripts."); + mkdir "$fields{NAME}-$fields{VERSION}/install",0755 + || Alien::Error("Unable to make install directory"); + $install_made=1; + } + open (OUT,">$workdir/install/$script") || + Alien::Error("$workdir/install/$script: $!");; + print OUT $fields{$scripttrans{$script}}; + close OUT; + chmod 0755,"$workdir/install/$script"; + } + } + } +} + +# Passed the available info about the package in a hash, return the name of +# the tgz package that will be made. +sub GetPackageName { my ($self,%fields)=@_; + return "$fields{NAME}-$fields{VERSION}-$fields{RELEASE}.tgz"; +} + +# Build a tgz file. +sub Build { my ($self,%fields)=@_; + Alien::SafeSystem("tar czf ../".$self->GetPackageName(%fields)." ."); +} + +# Install the passed tgz file. +sub Install { my ($self,$package)=shift; + if (-x "/sbin/installpkg") { + Alien::SafeSystem("/sbin/installpkg $package"); + } + else { + print STDERR "Sorry, I cannot install the generated .tgz file,\n"; + print STDERR "\"$package\" because /sbin/installpkg is not\n"; + print STDERR "present. You can use tar to install it yourself.\n"; + exit 1; # otherwise alien will delete the package file on us. + } +} + +1 diff --git a/lib/test b/lib/test new file mode 100644 index 0000000..2e8827a --- /dev/null +++ b/lib/test @@ -0,0 +1,4 @@ +use Alien; +use Fromslp; + +%fields=From::slp::DecodeFooter(From::slp::GetFooter(shift)); diff --git a/lib/to-deb/rpm/conffiles b/lib/to-deb/rpm/conffiles new file mode 100644 index 0000000..f2b7354 --- /dev/null +++ b/lib/to-deb/rpm/conffiles @@ -0,0 +1 @@ +#CONFFILES# \ No newline at end of file diff --git a/lib/to-deb/rpm/rules b/lib/to-deb/rpm/rules new file mode 100755 index 0000000..ef62742 --- /dev/null +++ b/lib/to-deb/rpm/rules @@ -0,0 +1,54 @@ +#!/usr/bin/make -f +# +# This is a special rules files for handling alien or binary packages +# Christoph Lameter, October 30, 1996 + +package=#NAME# + +debian/build: + $(checkdir) + touch debian/build + +clean: + $(checkdir) + -rm -f debian/build + -rm -rf *~ debian/tmp debian/*~ debian/files* + +binary-indep: checkroot debian/build + $(checkdir) +# There are no architecture-independent files to be uploaded +# generated by this package. If there were any they would be +# made here. + +binary-arch: checkroot debian/build + $(checkdir) + -rm -rf debian/tmp +# Install binary package + install -d debian/tmp + cp -a `ls | grep -v debian` debian/tmp +# +# If you need to move files around in debian/tmp or do some +# binary patching ... Insert it here +# + debstd + dpkg-gencontrol + dpkg --build debian/tmp .. + +define checkdir + test -f debian/rules +endef + +# Below here is fairly generic really + +binary: binary-indep binary-arch + +build: debian/build + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +checkroot: + $(checkdir) + test root = "`whoami`" + +.PHONY: binary binary-arch binary-indep clean checkroot diff --git a/lib/to-deb/slp/changelog b/lib/to-deb/slp/changelog new file mode 100644 index 0000000..77c5b62 --- /dev/null +++ b/lib/to-deb/slp/changelog @@ -0,0 +1,9 @@ +#NAME# (#VERSION#-#RELEASE#) unstable; urgency=low + + * Converted from Stampede .slp binary format to debian + + -- #USERNAME# <#EMAIL#> #DATE# + +Local variables: +mode: debian-changelog +End: diff --git a/lib/to-deb/slp/control b/lib/to-deb/slp/control new file mode 100644 index 0000000..f51f353 --- /dev/null +++ b/lib/to-deb/slp/control @@ -0,0 +1,10 @@ +Source: #NAME# +Section: #SECTION# +Priority: extra +Maintainer: #USERNAME# <#EMAIL#> + +Package: #NAME# +Architecture: #ARCH# +Depends: ${shlibs:Depends} +Description: #SUMMARY# + #DESCRIPTION# diff --git a/lib/to-deb/slp/copyright b/lib/to-deb/slp/copyright new file mode 100644 index 0000000..605dbb7 --- /dev/null +++ b/lib/to-deb/slp/copyright @@ -0,0 +1,4 @@ +This package was debianized by the alien program by converting +a Stampede linux Package on #DATE#. + +Copyright: #COPYRIGHT# diff --git a/patches/apxeng_4.4.1-13.diff b/patches/apxeng_4.4.1-13.diff new file mode 100644 index 0000000..2820f5f --- /dev/null +++ b/patches/apxeng_4.4.1-13.diff @@ -0,0 +1,104 @@ +--- apxeng-4.4.1.orig/debian/changelog ++++ apxeng-4.4.1/debian/changelog +@@ -0,0 +1,9 @@ ++apxeng (4.4.1-14) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian ++ ++ -- Joey Hess Wed, 7 Apr 1999 20:26:33 -0700 ++ ++Local variables: ++mode: debian-changelog ++End: +--- apxeng-4.4.1.orig/debian/control ++++ apxeng-4.4.1/debian/control +@@ -0,0 +1,9 @@ ++Source: apxeng ++Section: alien ++Priority: extra ++Maintainer: Joey Hess ++ ++Package: apxeng ++Architecture: i386 ++Description: ApplixWare Office (english) ++ This package contains the english version of ApplixWare Office. +--- apxeng-4.4.1.orig/debian/copyright ++++ apxeng-4.4.1/debian/copyright +@@ -0,0 +1,21 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Wed, 7 Apr 1999 20:26:33 -0700. ++ ++Copyright: 1990-1998 Applix, Inc. ++ ++Information from the binary Package: ++Name : apxeng Distribution: SuSE Linux 6.0-BETA (i386) ++Version : 4.4.1 Vendor: SuSE GmbH, Nuernberg, Germany ++Release : 13 Build Date: Tue Dec 1 01:36:41 1998 ++Install date: (not installed) Build Host: neumann.suse.de ++Group : unsorted Source RPM: axbase-4.4.1-13.src.rpm ++Size : 17025358 License: 1990-1998 Applix, Inc. ++Packager : feedback@suse.de ++Summary : ApplixWare Office (english) ++Description : ++This package contains the english version of ApplixWare Office. ++ ++Authors: ++-------- ++ Eric Ding ++ +--- apxeng-4.4.1.orig/debian/rules ++++ apxeng-4.4.1/debian/rules +@@ -0,0 +1,53 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 ++ install -d debian/tmp/usr/X11R6/lib/X11 ++ cp -a opt/* debian/tmp/usr/X11R6/lib/X11 ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++# dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ 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 diff --git a/patches/axbase_4.4.1-13.diff b/patches/axbase_4.4.1-13.diff new file mode 100644 index 0000000..8775003 --- /dev/null +++ b/patches/axbase_4.4.1-13.diff @@ -0,0 +1,150 @@ +--- axbase-4.4.1.orig/usr/X11R6/bin/applixware ++++ axbase-4.4.1/usr/X11R6/bin/applixware +@@ -6,7 +6,7 @@ + # + + DBROOT=/dev/null +-APPLIX=/opt/applix/applix ++APPLIX=/usr/X11R6/lib/X11/applix/applix + + # + # embedded jre is buggy +@@ -29,8 +29,8 @@ + # + if [ ! -e ~/.odbc.ini ]; then + echo "Copying .odbc.ini to $HOME" +- test -f /usr/doc/packages/axbase/.odbc.ini && \ +- cp /usr/doc/packages/axbase/.odbc.ini ${HOME}/.odbc.ini ++ test -f /usr/doc/axbase/.odbc.ini && \ ++ cp /usr/doc/axbase/.odbc.ini ${HOME}/.odbc.ini + fi + + # +--- axbase-4.4.1.orig/debian/changelog ++++ axbase-4.4.1/debian/changelog +@@ -0,0 +1,10 @@ ++axbase (4.4.1-14) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian. ++ * Made it not use /opt at all. ++ ++ -- Joey Hess Wed, 7 Apr 1999 19:44:25 -0700 ++ ++Local variables: ++mode: debian-changelog ++End: +--- axbase-4.4.1.orig/debian/control ++++ axbase-4.4.1/debian/control +@@ -0,0 +1,12 @@ ++Source: axbase ++Section: alien ++Priority: extra ++Maintainer: Joey Hess ++ ++Package: axbase ++Architecture: i386 ++Depends: apxeng | apxgrm | apxfrn, axfont, ${shlibs:Depends} ++Description: base system of ApplixWare Office ++ This is the language independent part of ApplixWare Office for ++ linux. The language dependend part has to be installed in any ++ case. This package also contains Applix Builder and Applix Data. +--- axbase-4.4.1.orig/debian/copyright ++++ axbase-4.4.1/debian/copyright +@@ -0,0 +1,23 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Wed, 7 Apr 1999 19:44:25 -0700. ++ ++Copyright: 1990-1998 Applix, Inc. ++ ++Information from the binary Package: ++Name : axbase Distribution: SuSE Linux 6.0-BETA (i386) ++Version : 4.4.1 Vendor: SuSE GmbH, Nuernberg, Germany ++Release : 13 Build Date: Tue Dec 1 01:36:41 1998 ++Install date: (not installed) Build Host: neumann.suse.de ++Group : unsorted Source RPM: axbase-4.4.1-13.src.rpm ++Size : 72974144 License: 1990-1998 Applix, Inc. ++Packager : feedback@suse.de ++Summary : base system of ApplixWare Office ++Description : ++This is the language independent part of ApplixWare Office for ++linux. The language dependend part has to be installed in any ++case. This package also contains Applix Builder and Applix Data. ++ ++Authors: ++-------- ++ Eric Ding ++ +--- axbase-4.4.1.orig/debian/rules ++++ axbase-4.4.1/debian/rules +@@ -0,0 +1,57 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 usr/X11R6/bin usr/X11R6/lib/X11 ++ # Moving the files like this is a little nasty, but this way we ++ # need far less disk space to build the package.. ++ mv opt/applix debian/tmp/usr/X11R6/lib/X11 ++ cp -a usr/X11R6/bin/* debian/tmp/usr/X11R6/bin/ ++ dh_installdocs usr/doc/packages/axbase/.* ++ dh_installexamples usr/doc/packages/axbase/contrib ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++# dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ dh_installdeb ++ dh_shlibdeps ++ dh_gencontrol ++ dh_makeshlibs ++ dh_md5sums ++ dh_builddeb ++ # Undo the move. ++ mv debian/tmp/usr/X11R6/lib/X11/applix opt ++ ++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 +--- axbase-4.4.1.orig/debian/README.Debian ++++ axbase-4.4.1/debian/README.Debian +@@ -0,0 +1,7 @@ ++This is a converted RPM package. ++ ++I decided to move the files out of /opt, since debian doesn't have an /opt ++yet. If the applix manual talks about files in /opt, look in ++/usr/X11R6/lib/X11/applix, instead. ++ ++-- Joey Hess +--- axbase-4.4.1.orig/debian/menu ++++ axbase-4.4.1/debian/menu +@@ -0,0 +1 @@ ++?package(applix):needs="x11" section="Apps/Editors" title="Applixware" command="applixware" diff --git a/patches/axfont_4.4.1-13.diff b/patches/axfont_4.4.1-13.diff new file mode 100644 index 0000000..2c11b78 --- /dev/null +++ b/patches/axfont_4.4.1-13.diff @@ -0,0 +1,114 @@ +--- axfont-4.4.1.orig/debian/changelog ++++ axfont-4.4.1/debian/changelog +@@ -0,0 +1,9 @@ ++axfont (4.4.1-14) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian. ++ ++ -- Joey Hess Wed, 7 Apr 1999 20:34:59 -0700 ++ ++Local variables: ++mode: debian-changelog ++End: +--- axfont-4.4.1.orig/debian/control ++++ axfont-4.4.1/debian/control +@@ -0,0 +1,10 @@ ++Source: axfont ++Section: alien ++Priority: extra ++Maintainer: Joey Hess ++ ++Package: axfont ++Architecture: i386 ++Depends: ${shlibs:Depends} ++Description: Applixware Fonts ++ This package contains the fonts for Applixware Office. +--- axfont-4.4.1.orig/debian/copyright ++++ axfont-4.4.1/debian/copyright +@@ -0,0 +1,21 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Wed, 7 Apr 1999 20:34:59 -0700. ++ ++Copyright: 1990-1998 Applix, Inc. ++ ++Information from the binary Package: ++Name : axfont Distribution: SuSE Linux 6.0-BETA (i386) ++Version : 4.4.1 Vendor: SuSE GmbH, Nuernberg, Germany ++Release : 13 Build Date: Tue Dec 1 01:36:41 1998 ++Install date: (not installed) Build Host: neumann.suse.de ++Group : unsorted Source RPM: axbase-4.4.1-13.src.rpm ++Size : 17723034 License: 1990-1998 Applix, Inc. ++Packager : feedback@suse.de ++Summary : Applixware Fonts ++Description : ++This package contains the fonts for Applixware Office. ++ ++Authors: ++-------- ++ Eric Ding ++ +--- axfont-4.4.1.orig/debian/rules ++++ axfont-4.4.1/debian/rules +@@ -0,0 +1,55 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 ++ install -d debian/tmp/usr/X11R6/lib/X11 ++ cp -a opt/* debian/tmp/usr/X11R6/lib/X11 ++ # These cause applix to crash. ++ rm -rf debian/tmp/usr/X11R6/lib/X11/applix/axdata/fontmetrics/gallium ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++# dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ 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 +--- axfont-4.4.1.orig/debian/README.Debian ++++ axfont-4.4.1/debian/README.Debian +@@ -0,0 +1,4 @@ ++Note that the truetype fonts have been removed from this package because ++they cause applix to crash for some reason. ++ ++-- Joey Hess diff --git a/patches/axlang_4.4.1-13.diff b/patches/axlang_4.4.1-13.diff new file mode 100644 index 0000000..55983d7 --- /dev/null +++ b/patches/axlang_4.4.1-13.diff @@ -0,0 +1,107 @@ +--- axlang-4.4.1.orig/debian/changelog ++++ axlang-4.4.1/debian/changelog +@@ -0,0 +1,9 @@ ++axlang (4.4.1-14) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian ++ ++ -- Joey Hess Wed, 7 Apr 1999 21:55:48 -0700 ++ ++Local variables: ++mode: debian-changelog ++End: +--- axlang-4.4.1.orig/debian/control ++++ axlang-4.4.1/debian/control +@@ -0,0 +1,11 @@ ++Source: axlang ++Section: alien ++Priority: extra ++Maintainer: Joey Hess ++ ++Package: axlang ++Architecture: i386 ++Depends: ${shlibs:Depends} ++Description: Thesaurus and spell-checker for ApplixWare Office ++ This package contains the spell-checker as well as a thesaurus for ++ ApplixWare Office for Linux. +--- axlang-4.4.1.orig/debian/copyright ++++ axlang-4.4.1/debian/copyright +@@ -0,0 +1,22 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Wed, 7 Apr 1999 21:55:48 -0700. ++ ++Copyright: 1990-1998 Applix, Inc. ++ ++Information from the binary Package: ++Name : axlang Distribution: SuSE Linux 6.0-BETA (i386) ++Version : 4.4.1 Vendor: SuSE GmbH, Nuernberg, Germany ++Release : 13 Build Date: Tue Dec 1 01:36:41 1998 ++Install date: (not installed) Build Host: neumann.suse.de ++Group : unsorted Source RPM: axbase-4.4.1-13.src.rpm ++Size : 20793103 License: 1990-1998 Applix, Inc. ++Packager : feedback@suse.de ++Summary : Thesaurus and spell-checker for ApplixWare Office ++Description : ++This package contains the spell-checker as well as a thesaurus for ++ApplixWare Office for Linux. ++ ++Authors: ++-------- ++ Eric Ding ++ +--- axlang-4.4.1.orig/debian/rules ++++ axlang-4.4.1/debian/rules +@@ -0,0 +1,53 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 ++ install -d debian/tmp/usr/X11R6/lib/X11 ++ cp -a opt/* debian/tmp/usr/X11R6/lib/X11 ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++# dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ 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 diff --git a/patches/xbf-i740-glibc_1.0.0-3.diff b/patches/xbf-i740-glibc_1.0.0-3.diff new file mode 100644 index 0000000..3c6ac9f --- /dev/null +++ b/patches/xbf-i740-glibc_1.0.0-3.diff @@ -0,0 +1,636 @@ +--- xbf-i740-glibc-1.0.0.orig/usr/doc/XBF-i740-glibc-1.0.0/README.i740 ++++ xbf-i740-glibc-1.0.0/usr/doc/XBF-i740-glibc-1.0.0/README.i740 +@@ -0,0 +1,313 @@ ++ XBF_i740, Version 1.0.0, 21 December 1998 ++ ++ ++This FREE (see the license below) full featured X Server contains: ++ ++ * Full support for 8, 15, 16, 24 and 32 bit per pixel depths. ++ * Hardware cursor support to reduce sprite flicker. ++ * Hardware accelerated 2D drawing engine support for 8, 15, 16 and 24 ++ bit per pixel depths. ++ * Support for high resolution video modes up to 1600x1200. ++ * Support for doublescan video modes (e.g., 320x200 and 320x240). ++ * Support for gamma correction at all pixel depths. ++ * Fully programmable clock supported. ++ * Robust text mode restore for VT switching. ++ ++ ++Tested Video Cards ++ ++ * Real3D Starfighter AGP ++ * Diamond Stealth II/G460 AGP ++ ++Reported Working Video Cards: ++ ++ * 3DVision-i740 AGP ++ * ABIT G740 8MB SDRAM ++ * AGP 2D/3D V. 1N, AGP-740D ++ * ARISTO i740 AGP (ART-i740-G) ++ * ASUS AGP-V2740 ++ * Chaintech AGP-740D ++ * EliteGroup(ECS) 3DVision-i740 AGP ++ * EONtronics Picasso 740 ++ * EONtronics Van Gogh ++ * Everex MVGA i740/AG ++ * Flagpoint Shocker i740 8MB ++ * Gainward CardExpert 740 8MB ++ * Gigabyte Predator i740 8MB AGP ++ * Hercules Terminator 128 2X/i AGP ++ * Intel Express 3D AGP ++ * Jaton Video-740 AGP 3D ++ * Joymedia Apollo 7400 ++ * Leadtek Winfast S900 ++ * Machspeed Raptor i740 AGP 4600 ++ * Magic-Pro MP-740DVD ++ * MAXI Gamer AGP 8 MB ++ * Palit Daytona AGP740 ++ * QDI Amazing I ++ * Soyo AGP (SY-740 AGP) ++ * VideoExcel AGP 740 ++ * ViewTop ZeusL 8MB ++ * Winfast S900 i740 AGP 8MB ++ ++ ++CAUTION: Running this server on untested video cards poses a potential ++risk of damaging your video card and display. You assume all risks in ++using this X server on untested video cards; however, if you ++successfully run this server on a video card not listed here, we would ++like to hear from you. Please e-mail your video card make and model ++to us at "xbf_support@redhat.com". ++ ++Red Hat and Precision Insight, Inc. disclaim all warranties with ++regard to this X server. In no event shall Red Hat or Precision ++Insight, Inc. be liable for any damages whatsoever resulting from the ++use of this X server. ++ ++This commercial quality X Server has been tested with only the Real3D ++Starfighter AGP and the Diamond Stealth II/G460 AGP card at this time. ++ ++This Free server is distributed in binary form only to conform with ++the Non Disclosure Agreement required by Intel. If and when this non ++disclosure requirement is removed by Intel, all of the source code for ++this driver will be contributed to the XFree86 project. ++ ++ ++Download and Installation Instructions ++ ++Although you can place the downloaded .rpm file in any directory of ++your choosing, we suggest you ftp the file into the /tmp directory and ++then execute the appropriate RPM command from that directory to ++install the .rpm file. When the RPM command runs, it will ++automatically place the component files of the X Server into the ++correct locations in your system. ++ ++ ++Red Hat 5.x (glibc) systems:- ++ 1) get the file to your system ++ cd /tmp ++ ftp://ftp.redhat.com/pub/XBF/XBF-i740-glibc-1.0.0-1.i386.rpm ++ 2) install the files using RPM ++ rpm -ivh XBF-i740-glibc-1.0.0-1.i386.rpm ++ 3) after installing, run (as root): ++ ln -sf /usr/X11R6/bin/XBF_i740 /etc/X11/X ++ ++Red Hat 4.x (libc5 systems):- ++ 1) get the file to your system ++ cd /tmp ++ ftp://ftp.redhat.com/pub/XBF/XBF-i740-libc5-1.0.0-1.i386.rpm ++ 2) install the files using RPM ++ rpm -ivh XBF-i740-libc5-1.0.0-1.i386.rpm ++ 3) after installing, run (as root): ++ ln -sf /usr/X11R6/bin/XBF_i740 /etc/X11/X ++ chmod 4711 /usr/X11R6/bin/XBF_i740 ++ ++IMPORTANT NOTE: ++ ++After installing the X server, an XF86Config file needs to be set up ++for your computer. For Red Hat 4.x and 5.x systems, this file is in ++"/etc/X11/XF86Config". See the manual page for XF86Config for more ++information on how to properly setup this file for your computer. For ++a description of the supported device configuration options, see the ++README file included in this release. ++ ++To ease the setting up of the XF86Config file, a new "xf86config" ++program that has support for the XBF_i740 X server can be found in the ++same directory as the X server. To use this program: ++ ++Red Hat 5.x (glibc) systems:- ++ 1) get the file to your system ++ cd /tmp ++ ftp://ftp.redhat.com/pub/XBF/xf86config-glibc-1.0.0.i386.tgz ++ 2) install the files (as root): ++ cd / ++ tar xvzf /tmp/xf86config-glibc-1.0.0.i386.tgz ++ 3) run "xf86config" as root ++ ++ ++Red Hat 4.x (libc5 systems):- ++ 1) get the file to your system ++ cd /tmp ++ ftp://ftp.redhat.com/pub/XBF/xf86config-libc5-1.0.0.i386.tgz ++ 2) install the files (as root): ++ cd / ++ tar xvzf /tmp/xf86config-libc5-1.0.0.i386.tgz ++ 3) run "xf86config" as root ++ ++ ++Here are some hints as to how to use xf86config: ++ ++1) While running xf86config, you will need to answer several questions ++ about your mouse, monitor and video card. This information should ++ be found in the manuals that came with your system. ++ ++2) When you reach the section to choose a particular video card, ++ xf86config will ask you: ++ ++ Do you want to look at the card database? ++ ++ Answer, "yes" and choose the number of the video card that most ++ closely matches your system. The cards that have been tested or ++ have been reported to work (see above) are included in this list. ++ ++3) Next, xf86config will ask you: ++ ++ Which one of these screen types do you intend to run by default (1-5)? ++ ++ Answer, "5" since that is the one that corresponds to the card ++ definition you just choose (from hint #2, above). ++ ++4) Since you have already set the symbolic link (above), you do not ++ want xf86config to set it again, so answer "no" to this question. ++ ++5) No special RAMDAC is needed with the XBF_i740 X server, so when ++ xf86config asks you to choose a RAMDAC, you can enter "q" to safely ++ quit without selecting a RAMDAC. ++ ++6) No special Clockchip setting is required with the XBF_i740 X ++ server, so you can simply press Enter, when xf86config asks you ++ what Clockchip setting you want. ++ ++7) It is not necessary to probe the clocks with the XBF_i740 X server, ++ so you do not need to have xf86config run 'X -probeonly'. ++ ++8) For RedHat 4.x and RedHat 5.x systems, the XF86Config file should ++ be written to /etc/X11/XF86Config. For other systems, it should be ++ written to /etc/XF86Config. ++ ++ ++If you have any questions or problems with this X server: ++ ++PLEASE CHECK THE FAQ AT http://www.precisioninsight.com/faq.html BEFORE ++SENDING EMAIL TO THE SUPPORT EMAIL ADDRESS ++ ++If the FAQ does not help you solve the problem, you may send email to ++"xbf_support@redhat.com". Please do NOT send any email to XFree86 ++regarding this X server. ++ ++ ++Please note that this software is released under the XBF License below. ++ ++ ++ ++ ++End User License Agreement for the XBF X server ("Software") ++ ++ ++ ++I. PREAMBLE ++ ++ ++This License Agreement ("License") sets forth the terms and conditions ++under which Red Hat Software, Inc. grants you certain rights and ++licenses with respect to the Software. Please review this agreement ++carefully before you use the Software or install it on a computer. ++ ++ ++This License generally allows you to copy, sublicense and distribute ++the Software, subject to the following terms and conditions. However, ++nothing in this License grants you any right, license or interest with ++respect to the source code for the Software. ++ ++ ++ ++II. GRANT OF RIGHTS: ++ ++ ++A. The rights stated in this License are non-exclusive and are granted ++to you without fee. ++ ++ ++B. You may install and/or use the Software on as many computers as you ++wish at any time. ++ ++ ++C. You may copy, sublicense and distribute the Software in its entirety ++provided that you: ++ ++1. Conspicuously publish on each copy of the Software the appropriate ++copyright notice and the complete terms and conditions of this License; ++ ++2. Keep intact all notices that refer to this License and to the ++absence of any warranty; and ++ ++3. Give any other recipients and sublicensees of the Software a copy of ++this License along with the Software, and make it clear to any and all ++recipients and sublicensees that the terms and conditions of this ++License shall govern their use of the Software. ++ ++ ++D. You may, but are not required to, charge a fee to persons to whom ++you copy and redistribute the Software, and you may at your option ++offer warranty protection for a fee to any person to whom you ++distribute the Software. Each person or entity to whom you sublicense ++the Software must receive it under no more restrictive terms and ++conditions than set forth in this License. ++ ++ ++ ++III. YOU MAY NOT: ++ ++ ++A. Modify, decompile, reverse assemble or otherwise reverse engineer ++the Software, or create derivative works based on the Software, or ++authorize any third party to do any of the above; and ++ ++ ++B. Copy, sublicense, or distribute the Software except as expressly ++permitted in this License. Any attempt to copy, sublicense or ++distribute the Program in a manner inconsistent with this License is ++void, and will automatically terminate your rights under this License. ++ ++ ++ ++IV. TITLE ++ ++ ++The Software is protected by copyright and other laws. Title, ++ownership rights, and intellectual property rights in the Software ++shall remain with Red Hat Software, Inc. and/or its suppliers. You ++acknowledge these ownership and intellectual property rights, and agree ++not to take any action to jeopardize or infringe upon any of these ++rights with respect to the Software. The rights granted to you in this ++License do not include any interest in any intellectual property rights ++in the Software. ++ ++ ++ ++V. NO WARRANTY ++ ++ ++THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY ++APPLICABLE LAW. EXCEPT AS OTHERWISE STATED IN WRITING, THE SOFTWARE IS ++PROVIDED AND LICENSED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++ ++ ++ ++VI. LIMITATION OF LIABILITY ++ ++ ++TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL RED ++HAT SOFTWARE, INC. OR ITS SUPPLIERS BE LIABLE TO YOU FOR ANY DAMAGES, ++INCLUDING LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR ++CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE THE ++SOFTWARE, EVEN IF RED HAT SOFTWARE, INC. OR A DEALER AUTHORIZED BY RED ++HAT SOFTWARE, INC. HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ++ ++ ++ ++VII. GENERAL ++ ++ ++This License represents the complete agreement concerning the rights ++granted in this License, and may be amended only in a writing signed by ++both parties. If any provision of this Agreement is held to be ++unenforceable, the enforceability of the remaining provisions shall in ++no way be affected or impaired. This Agreement shall be governed by ++the laws of the United States. ++ ++ ++ ++ ++ ++Copyright © 1998 Red Hat Software, Inc. All rights reserved. +--- xbf-i740-glibc-1.0.0.orig/debian/changelog ++++ xbf-i740-glibc-1.0.0/debian/changelog +@@ -0,0 +1,19 @@ ++xbf-i740-glibc (1.0.0-3) unstable; urgency=low ++ ++ * Added README.i740 from redhat mirror to the doc directory ++ * debian/rules: Modified doc directory from XBF-i740-glibc-VERSION to xbf-i740-glibc ++ * Added [pre|post][inst|rm] shamelessly borrowed from xserver-svga ++ ++ -- Agustín Martín Domingo Thu, 15 Apr 1999 16:36:31 +0200 ++ ++xbf-i740-glibc (1.0.0-2) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian ++ ++ -- Agustín Martín Domingo Thu, 15 Apr 1999 15:47:07 +0200 ++ ++ ++ ++Local variables: ++mode: debian-changelog ++End: +--- xbf-i740-glibc-1.0.0.orig/debian/control ++++ xbf-i740-glibc-1.0.0/debian/control +@@ -0,0 +1,16 @@ ++Source: xbf-i740-glibc ++Section: alien ++Priority: extra ++Maintainer: Agustín Martín Domingo ++ ++Package: xbf-i740-glibc ++Architecture: i386 ++Recommends: xf86config-i740g ++Provides: xserver ++Depends: ${shlibs:Depends} ++Description: Binary-only X server for i740 on glibc systems ++ X server for the Intel i740 base graphics cards. ++ . ++ Details on installing this server are available at ++ /usr/doc/xbf-i740-glibc (From ftp://ftp.redhat.com/pub/XBF/README.i740) ++ +--- xbf-i740-glibc-1.0.0.orig/debian/copyright ++++ xbf-i740-glibc-1.0.0/debian/copyright +@@ -0,0 +1,19 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Thu, 15 Apr 1999 15:47:07 +0200. ++ ++Copyright: XBF ++ ++Information from the binary Package: ++Name : XBF-i740-glibc Distribution: (none) ++Version : 1.0.0 Vendor: (none) ++Release : 1 Build Date: Sun Dec 20 02:12:52 1998 ++Install date: (not installed) Build Host: audrey.kem.org ++Group : X11/XFree86/Servers Source RPM: XBF-i740-glibc-1.0.0-1.src.rpm ++Size : 2136768 ++Summary : Binary-only X server for i740 on glibc systems ++Description : ++X server for the Intel i740 base graphics cards. ++ ++Details on installing this server are available at ++ftp://ftp.redhat.com/pub/XBF/README.i740 ++ +--- xbf-i740-glibc-1.0.0.orig/debian/rules ++++ xbf-i740-glibc-1.0.0/debian/rules +@@ -0,0 +1,58 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 ++ install -d debian/tmp ++ cp -a `ls |grep -v debian` debian/tmp ++# ++# If you need to move files around in debian/tmp or do some ++# binary patching ... Insert it here ++# ++ ( cd `pwd`/debian/tmp/usr/doc ; mv XBF* xbf-i740-glibc ) ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++ dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ 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 +--- xbf-i740-glibc-1.0.0.orig/debian/preinst ++++ xbf-i740-glibc-1.0.0/debian/preinst +@@ -0,0 +1,34 @@ ++#!/bin/sh ++# Debian xserver-xserver-i740 package pre-installation script ++# Modifications to the original xserver-svga preinst script ++# Copyright 1999 A. Martín. Licensed under the GNU GPL. ++# (Very) Mostly from ++# Debian xserver-svga package pre-installation script ++# Copyright 1998 Branden Robinson. Licensed under the GNU GPL. ++# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava. ++ ++set -e ++ ++trap "echo ;\ ++ echo 'Received signal. Aborting installation of xserver-xserver-i740 package.' ;\ ++ echo ;\ ++ exit 1" 1 2 3 15 ++ ++package=xbf-i740-glibc ++ ++case "$1" in ++ install) touch /etc/X11/newxserver.$package ;; ++ upgrade) ;; ++ abort-upgrade) exit 0 ;; ++ *) ++ echo "ERROR: xserver-xserver-i740 preinst called with unknown argument \"$1\"." ++ echo "Aborting installation of xserver-xserver-i740 package." ++ exit 1 ;; ++esac ++ ++# clean up a mess made in 3.3.2.2-4 ++if [ "$2" = "3.3.2.2-4" ]; then ++ rm -f /etc/X11/newxserver.[0-9A-Z]* ++fi ++ ++exit +--- xbf-i740-glibc-1.0.0.orig/debian/postinst ++++ xbf-i740-glibc-1.0.0/debian/postinst +@@ -0,0 +1,119 @@ ++#!/bin/sh ++# Debian xserver-xserver-i740 package post-installation script ++# Modifications to the original xserver-svga preinst script ++# Copyright 1999 A. Martín. Licensed under the GNU GPL. ++# (Very) Mostly from ++# Debian xserver-svga package post-installation script ++# Copyright 1998 Branden Robinson. Licensed under the GNU GPL. ++# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava. ++ ++set -e ++ ++package=xbf-i740-glibc ++xserver=i740 ++serverbin=XBF_i740 ++ ++cleanup () { ++ # unroll changes in xserver-i740 preinst ++ for file in /etc/X11/newxserver.$package; do ++ if [ -e $file ]; then ++ rm $file ++ fi ++ done; ++} ++ ++trap "echo ;\ ++ echo 'Received signal. Aborting configuration of xserver-i740 package.' ;\ ++ echo -n 'Cleaning up...' ;\ ++ cleanup ;\ ++ echo 'done.' ;\ ++ echo ;\ ++ exit 1" 1 2 3 15 ++ ++case "$1" in ++ configure) ;; ++ abort-upgrade|abort-remove|abort-deconfigure) ++ cleanup ++ exit 0 ;; ++ *) ++ echo "ERROR: xserver-i740 postinst called with unknown argument \"$1\"." ++ echo "Aborting configuration of xserver-i740 package." ++ echo -n "Cleaning up..." ++ cleanup ++ echo "done." ++ exit 1 ;; ++esac ++ ++# I know there is redundant logic in some of the following, I'll rewrite it ++# pretty someday ++ ++# while I'm at it, switch to string variables instead of numeric ones ++ ++fixname=0 ++prompt=0 ++oldxserverpresent=0 ++oldxserver=`head -1 /etc/X11/Xserver` ++servername=`echo $oldxserver | sed 's/X11R6\/bin/bin\/X11/'` ++if [ -x $oldxserver ]; then ++ oldxserverpresent=1 ++fi ++if [ $oldxserverpresent = 1 ]; then ++ # case 1: we're just upgrading the existing server ++ if [ "$oldxserver" = "/usr/bin/X11/$serverbin" ]; then ++ prompt=0 ++ # case 2: we're just upgrading, but need to canonicalize the pathname ++ elif [ "$servername" = "/usr/bin/X11/$serverbin" ]; then ++ fixname=1 ++ # case 3: we're installing a new X server ++ elif [ -e /etc/X11/newxserver.$package ]; then ++ rm /etc/X11/newxserver.$package ++ prompt=1 ++ $condecho ++ echo "Current default X server $oldxserver found." ++ echo -n "Do you want to make $xserver the default instead? (y/n) [n] " ++ default=n ++ # case 4: we're upgrading an alternative X server already installed ++ else ++ prompt=0 ++ fi ++else # old server not present ++ prompt=1 ++ $condecho ++ echo -n "No default X server previously set, or previous default has been " ++ echo "removed." ++ echo -n "Do you want to make the $xserver X server the default? (y/n) [y] " ++ default=y ++fi ++ ++if [ $prompt = 1 ]; then ++ condecho=echo ++ read input ++ case "$input" in ++ Y|y) input=y ;; ++ N|n) input=n ;; ++ '') input=$default ;; ++ *) ++ echo "'$input' not understood. Using default of '$default'." ++ input=$default ++ ;; ++ esac ++fi ++ ++if [ "$input" = "y" -o $fixname = 1 ]; then ++ mv /etc/X11/Xserver /etc/X11/Xserver.debian.$$ ++ sed -e "1s/^.*$/\\/usr\\/bin\\/X11\\/$serverbin/" \ ++ /etc/X11/Xserver.debian.$$ > /etc/X11/Xserver ++ rm /etc/X11/Xserver.debian.$$ ++ if [ $fixname = 0 ]; then ++ $condecho ++ echo "The $xserver X server is now the default." ++ condecho=echo ++ fi ++fi ++ ++# invoke xserver-configure ++if [ -x /usr/sbin/xserver-configure ]; then ++ . /usr/sbin/xserver-configure ++fi ++ ++exit +--- xbf-i740-glibc-1.0.0.orig/debian/postrm ++++ xbf-i740-glibc-1.0.0/debian/postrm +@@ -0,0 +1,34 @@ ++#!/bin/sh ++# Debian xserver-xserver-i740 package post-removal script ++# Modifications to the original xserver-svga postrm script ++# Copyright 1999 A. Martín. Licensed under the GNU GPL. ++# (Very) Mostly from ++# Debian xserver-svga package post-removal script ++# Copyright 1998 Branden Robinson. Licensed under the GNU GPL. ++# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava. ++ ++set -e ++ ++package=xbf-i740-glibc ++serverbin=XBF_i740 ++ ++trap "echo ;\ ++ echo 'Received signal. Aborting removal of xserver-xserver-i740 package.' ;\ ++ echo ;\ ++ exit 1" 1 2 3 15 ++ ++case "$1" in ++ remove) ;; ++ purge) ;; ++ upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) exit 0 ;; ++ *) ++ echo "ERROR: xserver-xserver-i740 postrm called with unknown argument \"$1\"." ++ echo "Aborting removal of xserver-xserver-i740 package." ++ exit 1 ;; ++esac ++ ++sed "1s:/usr/bin/X11/$serverbin:/usr/bin/X11/XF86_NONE:" /etc/X11/Xserver > \ ++ /etc/X11/Xserver.debian.$$ ++mv /etc/X11/Xserver.debian.$$ /etc/X11/Xserver ++ ++exit diff --git a/patches/xf86config-glibc_1.0.0.i386-1.diff b/patches/xf86config-glibc_1.0.0.i386-1.diff new file mode 100644 index 0000000..600b434 --- /dev/null +++ b/patches/xf86config-glibc_1.0.0.i386-1.diff @@ -0,0 +1,115 @@ +--- xf86config-glibc-1.0.0.i386.orig/debian/changelog ++++ xf86config-glibc-1.0.0.i386/debian/changelog +@@ -0,0 +1,10 @@ ++xf86config-glibc (1.0.0.i386-1) unstable; urgency=low ++ ++ * Added preinst and postrm for xf86config and Card files diversion ++ * Converted from Slackware .tgz binary format to debian ++ ++ -- Agustín Martín Domingo Thu, 15 Apr 1999 15:47:14 +0200 ++ ++Local variables: ++mode: debian-changelog ++End: +--- xf86config-glibc-1.0.0.i386.orig/debian/control ++++ xf86config-glibc-1.0.0.i386/debian/control +@@ -0,0 +1,10 @@ ++Source: xf86config-glibc ++Section: unknown ++Priority: extra ++Maintainer: Agustín Martín Domingo ++ ++Package: xf86config-i740g ++Architecture: any ++Depends: ${shlibs:Depends}, xbf-i740-glibc ++Description: xf86config for Intel i740 based graphics cards ++ xf86 configuration tool for Intel i740 chipset based graphic cards +--- xf86config-glibc-1.0.0.i386.orig/debian/copyright ++++ xf86config-glibc-1.0.0.i386/debian/copyright +@@ -0,0 +1,4 @@ ++This package was debianized by the alien program by converting ++a binary Slackware tgz Package on Thu, 15 Apr 1999 15:47:14 +0200. ++ ++Copyright: Unknown +--- xf86config-glibc-1.0.0.i386.orig/debian/rules ++++ xf86config-glibc-1.0.0.i386/debian/rules +@@ -0,0 +1,57 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 ++ install -d debian/tmp ++ cp -a `ls |grep -v debian` debian/tmp ++# ++# If you need to move files around in debian/tmp or do some ++# binary patching ... Insert it here ++# ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++ dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ 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 +--- xf86config-glibc-1.0.0.i386.orig/debian/preinst ++++ xf86config-glibc-1.0.0.i386/debian/preinst +@@ -0,0 +1,8 @@ ++#!/bin/sh -e ++ ++if [ install = "$1" ]; then ++ dpkg-divert --package xf86config-i740g --add --rename \ ++ --divert /usr/X11R6/bin/xf86config.dpkg-old /usr/X11R6/bin/xf86config ++ dpkg-divert --package xf86config-i740g --add --rename \ ++ --divert /usr/X11R6/lib/X11/Cards.dpkg-old /usr/X11R6/lib/X11/Cards ++fi +--- xf86config-glibc-1.0.0.i386.orig/debian/postrm ++++ xf86config-glibc-1.0.0.i386/debian/postrm +@@ -0,0 +1,8 @@ ++#!/bin/sh -e ++ ++if [ remove = "$1" ]; then ++ dpkg-divert --package xf86config-i740g --remove --rename \ ++ --divert /usr/X11R6/bin/xf86config.dpkg-old /usr/X11R6/bin/xf86config ++ dpkg-divert --package xf86config-i740g --remove --rename \ ++ --divert /usr/X11R6/lib/X11/Cards.dpkg-old /usr/X11R6/lib/X11/Cards ++fi diff --git a/patches/xf86config-glibc_1.0.0.i386-3.diff b/patches/xf86config-glibc_1.0.0.i386-3.diff new file mode 100644 index 0000000..ca4be60 --- /dev/null +++ b/patches/xf86config-glibc_1.0.0.i386-3.diff @@ -0,0 +1,296 @@ +--- xf86config-glibc-1.0.0.i386.orig/debian/changelog ++++ xf86config-glibc-1.0.0.i386/debian/changelog +@@ -0,0 +1,30 @@ ++xf86config-glibc (1.0.0.i386-3) unstable; urgency=low ++ ++ * postrm: Old diversions code moved to preinst ++ * preinst: Force the user to remove previous package if is (1.0.0.i386-1) ++ ++ -- Agustín Martín Domingo Wed, 5 May 1999 15:03:25 +0200 ++ ++xf86config-glibc (1.0.0.i386-2) unstable; urgency=low ++ ++ * Changed section from unknown to alien ++ * Cards: renamed to Ci740 to avoid diversion ++ * xf86config: patched to look for Ci740 and renamed to xf86config-i740 ++ * Added xf86config wrapper script to warn about xf86config diversion ++ * postrm: Cleared old diversions if existing and renamed the remaining ++ to xf86config.xfree86 ++ * preinst: removed diversion of Cards and renamed that of xf86config ++ to xf86conig.xfree86 ++ ++ -- Agustín Martín Domingo Wed, 5 May 1999 12:00:06 +0200 ++ ++xf86config-glibc (1.0.0.i386-1) unstable; urgency=low ++ ++ * Added preinst and postrm for xf86config and Card files diversion ++ * Converted from Slackware .tgz binary format to debian ++ ++ -- Agustín Martín Domingo Thu, 15 Apr 1999 15:47:14 +0200 ++ ++Local variables: ++mode: debian-changelog ++End: +--- xf86config-glibc-1.0.0.i386.orig/debian/control ++++ xf86config-glibc-1.0.0.i386/debian/control +@@ -0,0 +1,14 @@ ++Source: xf86config-glibc ++Section: alien ++Priority: extra ++Maintainer: Agustín Martín Domingo ++ ++Package: xf86config-i740g ++Architecture: any ++Depends: ${shlibs:Depends}, xbf-i740-glibc ++Description: xf86config for XBF-i740 binary-only X server ++ xf86 configuration tool for the binary-only XBF-i740 X server ++ for Intel i740 chipset based graphic cards ++ . ++ Diverts the XFree86 xf86config to xf86config.xfree86 ++ +--- xf86config-glibc-1.0.0.i386.orig/debian/copyright ++++ xf86config-glibc-1.0.0.i386/debian/copyright +@@ -0,0 +1,4 @@ ++This package was debianized by the alien program by converting ++a binary Slackware tgz Package on Thu, 15 Apr 1999 15:47:14 +0200. ++ ++Copyright: Unknown +--- xf86config-glibc-1.0.0.i386.orig/debian/rules ++++ xf86config-glibc-1.0.0.i386/debian/rules +@@ -0,0 +1,64 @@ ++#!/usr/bin/make -f ++# debian/rules that uses debhelper and alien ++# GNU copyright 1997 by Joey Hess. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++build: ++ dh_testdir ++ # Nothing to do. ++ ++clean: ++ 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 ++ install -d debian/tmp ++ cp -a `ls |grep -v debian` debian/tmp ++# ++# If you need to move files around in debian/tmp or do some ++# binary patching ... Insert it here ++# ++# Patching the binary to look for /usr/X11R6/lib/X11/Ci740 instead of ++# /usr/X11R6/lib/X11/Cards ++ ( cd debian/tmp/usr/X11R6/bin ; sed 's/\/X11\/Cards/\/X11\/Ci740/g' xf86config > xf86config-i740 ; chmod +x xf86config-i740 ; rm xf86config ) ++# Renaming /usr/X11R6/lib/X11/Cards to /usr/X11R6/lib/X11/Ci740 ++ ( cd debian/tmp/usr/X11R6/lib/X11/ ; mv Cards Ci740 ) ++ ( install debian/xf86config debian/tmp/usr/X11R6/bin/xf86config ) ++# ++ dh_installdocs ++ dh_installexamples ++ dh_installmenu ++# dh_installinit ++ dh_installcron ++ dh_installmanpages ++# dh_undocumented ++ dh_installchangelogs ++# dh_strip ++ dh_compress ++ dh_fixperms ++ dh_suidregister ++ 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 +--- xf86config-glibc-1.0.0.i386.orig/debian/preinst ++++ xf86config-glibc-1.0.0.i386/debian/preinst +@@ -0,0 +1,30 @@ ++#!/bin/sh -e ++ ++# Fixing some previous mess ++ ++if [ upgrade = "$1" ]; then ++ if [ -e /usr/X11R6/lib/X11/Ci740 -a -e /usr/X11R6/bin/xf86config-i740 ]; then ++ echo "OK, preserving old diversions" ++ else ++ echo "--------------------------------------------------------------" ++ echo " /usr/X11R6/lib/X11/Ci740 or /usr/X11R6/bin/xf86config-i740" ++ echo "do not exist." ++ echo "That means you are upgrading xf86config-i740g_1.0.0.i386-1.deb" ++ echo "" ++ echo " Due to changes in the diversions YOU HAVE FIRST TO REMOVE" ++ echo " PREVIOUS PACKAGE with dpkg -r xf86config-i740g" ++ echo "--------------------------------------------------------------" ++ exit 1 ++ fi ++fi ++ ++if [ install = "$1" ]; then ++ dpkg-divert --package xf86config-i740g --add --rename \ ++ --divert /usr/X11R6/bin/xf86config.xfree86 /usr/X11R6/bin/xf86config ++fi ++ ++ ++ ++ ++ ++ +--- xf86config-glibc-1.0.0.i386.orig/debian/patch-xf86config ++++ xf86config-glibc-1.0.0.i386/debian/patch-xf86config +@@ -0,0 +1 @@ ++sed 's/\/X11\/Cards/\/X11\/Ci740/g' xf86config > xf86config-i740 +--- xf86config-glibc-1.0.0.i386.orig/debian/postrm ++++ xf86config-glibc-1.0.0.i386/debian/postrm +@@ -0,0 +1,9 @@ ++#!/bin/sh -e ++ ++ ++# Now the real diversion ++ ++if [ remove = "$1" ]; then ++ dpkg-divert --package xf86config-i740g --remove --rename \ ++ --divert /usr/X11R6/bin/xf86config.xfree86 /usr/X11R6/bin/xf86config ++fi +--- xf86config-glibc-1.0.0.i386.orig/debian/preinst.0 ++++ xf86config-glibc-1.0.0.i386/debian/preinst.0 +@@ -0,0 +1,32 @@ ++#!/bin/sh -e ++ ++# Fixing some previous mess ++ ++if [ upgrade = "$1" ]; then ++ if [ -e /usr/X11R6/lib/X11/Ci740 ]; then ++ echo "OK, preserving old diversions" ++ else ++ echo "Removing obsolete diversion of Cards to Cards.dpkg-old" ++ rm /usr/X11R6/lib/X11/Cards ++ dpkg-divert --package xf86config-i740g --remove --rename \ ++ --divert /usr/X11R6/lib/X11/Cards.dpkg-old /usr/X11R6/lib/X11/Cards ++ fi ++ ++ if [ -x /usr/X11R6/bin/xf86config-i740 ]; then ++ echo "OK, preserving old diversions" ++ else ++ echo "Removing obsolete diversion of xf86config to xf86config.dpkg-old" ++ rm /usr/X11R6/bin/xf86config ++ dpkg-divert --package xf86config-i740g --remove --rename \ ++ --divert /usr/X11R6/bin/xf86config.dpkg-old /usr/X11R6/bin/xf86config ++ dpkg-divert --package xf86config-i740g --add --rename \ ++ --divert /usr/X11R6/bin/xf86config.xfree86 /usr/X11R6/bin/xf86config ++ fi ++fi ++ ++if [ install = "$1" ]; then ++ dpkg-divert --package xf86config-i740g --add --rename \ ++ --divert /usr/X11R6/bin/xf86config.xfree86 /usr/X11R6/bin/xf86config ++fi ++ ++ +--- xf86config-glibc-1.0.0.i386.orig/debian/xf86config ++++ xf86config-glibc-1.0.0.i386/debian/xf86config +@@ -0,0 +1,60 @@ ++#!/bin/sh ++ ++# A wrapper to warn about the diversion of xf86config ++ ++ ++message="\ ++This is a wrapper script to remind you that you are using the ++xf86config-i740 script provided by RedHat when XBF-i740 was a ++binary-only server. The original XFree86 xf86config has been ++diverted to xf86config.xfree86 by the package xfree86-i740g. ++ ++Since Intel has released the i740 specs to the XFree team, there ++will probably be native support for this card in the next XFree86 ++release (XFree86 4), and this script will only be valid if you want ++to configure the binary-only XBF-i740 server, with the Card database ++probably outdated. ++ ++For any other use you will need to use the script ++xf86config.xfree86 or XF86Setup. ++" ++warning_msg="WARNING!" ++ ++if [ "$LANG" ]; then ++ LINGUA=`echo $LANG | sed -e 's/_.*//'` ++ if [ "$LINGUA" = "es" ]; then ++message="\ ++Este es un script filtro para recordar que se está utilizando el ++script xf86config-i740 suministrado por RedHat cuando XBF-i740 era ++un servidor sólo-binario. El xf86config original de las XFree86 ++ha sido redirigido a xf86config.xfree86 por el paquete xfree86-i740g. ++ ++Ya que Intel ha suministrado las especificaciones de las i740 al equipo ++de las XFree, probablemente haya soporte nativo para esta tarjeta en la ++siguiente edición de las XFree86 (XFree86 4), y este script tendrá ++sentido únicamente para configurar el servidor sólo-binario XBF-i740, ++con la base de datos de tarjetas i740 posiblemente anticuada. ++ ++Para cualquier otro uso será necesario utilizar ++xf86config.xfree86 o XF86Setup ++" ++warning_msg="ˇATENCIÓN!" ++ fi ++fi ++ ++if [ -x /usr/bin/whiptail ]; then ++ whiptail --clear --title "$warning_msg" --msgbox "$message" 0 0 ++ echo "Using whiptail" ++elif [ -x /usr/bin/dialog ]; then ++ dialog --clear --title "$warning_msg" --msgbox "$message" 0 0 ++ echo "Using dialog" ++else ++ echo $warning_msg ++ echo "---------------------------------" ++ echo $message | fmt ++ echo "---------------------------------" ++ echo "Press enter to continue" ++ read reply ++fi ++ ++xf86config-i740 +--- xf86config-glibc-1.0.0.i386.orig/debian/preinst.pruebas ++++ xf86config-glibc-1.0.0.i386/debian/preinst.pruebas +@@ -0,0 +1,22 @@ ++#!/bin/sh -e ++ ++action="$1" ++divext="dpkg-old" ++ ++default_divert () ++{ ++if [ install = "$action" -o ! -e "$1" ]; then ++ dpkg-divert --package $package --add --rename \ ++ --divert $1.$divext $1 ++fi ++} ++ ++default_divert /usr/X11R6/bin/xf86config ++default_divert /usr/X11R6/lib/X11/Cards ++ ++#if [ install = "$1" ]; then ++# dpkg-divert --package xf86config-i740g --add --rename \ ++# --divert /usr/X11R6/bin/xf86config.dpkg-old /usr/X11R6/bin/xf86config ++# dpkg-divert --package xf86config-i740g --add --rename \ ++# --divert /usr/X11R6/lib/X11/Cards.dpkg-old /usr/X11R6/lib/X11/Cards ++#fi