From ad046046f038488c5b5cb46713ced1055b75bd22 Mon Sep 17 00:00:00 2001 From: joey Date: Sun, 5 Sep 1999 05:50:40 +0000 Subject: [PATCH] Initial revision --- CHANGES | 1024 +++++++++++++++++++++++++++++ COPYING | 339 ++++++++++ INSTALL | 15 + Makefile | 13 + README | 43 ++ alien | 220 +++++++ alien.1 | 68 ++ alien.lsm | 13 + alien.lsm.in | 13 + alien.sh | 295 +++++++++ alien.spec | 26 + alien.spec.in | 26 + debian/README.debian | 6 + debian/changelog | 884 +++++++++++++++++++++++++ debian/config | 61 ++ debian/control | 14 + debian/copyright | 6 + debian/rules | 126 ++++ foo | 378 +++++++++++ lib/fromdeb.pl | 67 ++ lib/fromrpm.pl | 72 ++ lib/fromtgz.pl | 65 ++ lib/rpm/changelog | 9 + lib/rpm/control | 11 + lib/rpm/copyright | 6 + lib/tgz/changelog | 9 + lib/tgz/control | 11 + lib/tgz/copyright | 4 + lib/tgz/rules | 54 ++ lib/to-deb/rpm/changelog | 11 + lib/to-deb/rpm/control | 11 + lib/to-deb/rpm/copyright | 7 + lib/to-deb/tgz/changelog | 9 + lib/to-deb/tgz/conffiles | 1 + lib/to-deb/tgz/control | 11 + lib/to-deb/tgz/copyright | 4 + lib/to-deb/tgz/rules | 54 ++ lib/to-rpm/deb/spec | 14 + lib/todeb.pl | 86 +++ lib/torpm.pl | 72 ++ lib/totgz.pl | 27 + patches/applix-english_4.3-2.diff | 108 +++ patches/applix_4.2-2.diff | 126 ++++ patches/applix_4.3-2.diff | 163 +++++ 44 files changed, 4582 insertions(+) create mode 100644 CHANGES create mode 100644 COPYING create mode 100644 INSTALL create mode 100644 Makefile create mode 100644 README create mode 100755 alien create mode 100644 alien.1 create mode 100644 alien.lsm create mode 100644 alien.lsm.in create mode 100755 alien.sh create mode 100644 alien.spec create mode 100644 alien.spec.in create mode 100644 debian/README.debian create mode 100644 debian/changelog create mode 100644 debian/config create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules create mode 100644 foo create mode 100644 lib/fromdeb.pl create mode 100644 lib/fromrpm.pl create mode 100644 lib/fromtgz.pl create mode 100644 lib/rpm/changelog create mode 100644 lib/rpm/control create mode 100644 lib/rpm/copyright create mode 100644 lib/tgz/changelog create mode 100644 lib/tgz/control create mode 100644 lib/tgz/copyright create mode 100644 lib/tgz/rules create mode 100644 lib/to-deb/rpm/changelog create mode 100644 lib/to-deb/rpm/control create mode 100644 lib/to-deb/rpm/copyright create mode 100644 lib/to-deb/tgz/changelog create mode 100644 lib/to-deb/tgz/conffiles create mode 100644 lib/to-deb/tgz/control create mode 100644 lib/to-deb/tgz/copyright create mode 100644 lib/to-deb/tgz/rules create mode 100644 lib/to-rpm/deb/spec create mode 100644 lib/todeb.pl create mode 100644 lib/torpm.pl create mode 100644 lib/totgz.pl create mode 100644 patches/applix-english_4.3-2.diff create mode 100644 patches/applix_4.2-2.diff create mode 100644 patches/applix_4.3-2.diff diff --git a/CHANGES b/CHANGES new file mode 100644 index 0000000..ce36a92 --- /dev/null +++ b/CHANGES @@ -0,0 +1,1024 @@ +alien (5.0) unstable; urgency=low + + * Added some cautions to man page about not using alien to replace + important packages. + * This version will be released to the linux community at large, not just + debian. + * Added a README file. + + -- Joey Hess Wed, 7 May 1997 16:02:53 -0400 + +alien (4.3) unstable; urgency=low + + * Fixed a bug that made alien choke on packages that had 0 for their + release or version number. + * Removed obsolete alien.sh from the source package. + + -- Joey Hess Wed, 7 May 1997 15:17:33 -0400 + +alien (4.2) unstable; urgency=low + + * When installing deb file, alien will use --no-force-overwrite + The idea behind this is to make it difficult to trash your debian system + by installing alien packages that overwrite files in it. This only works + if you use alien --install, not if you install the resulting .deb file by + hand. This is a temporary fix until dpkg has --force-overwrite turned + off by default. + + -- Joey Hess Wed, 16 Apr 1997 17:03:27 -0400 + +alien (4.1) unstable; urgency=low + + * If a package has underscores in it's name and is being converted to deb + format, change the underscores to dashes. Thanks to + Robert Coie + * Strip out any other disallowed characters in package name when + converting to deb. + + -- Joey Hess Fri, 4 Apr 1997 20:12:07 -0500 + +alien (4.00) unstable; urgency=low + + * Added support for converting deb to rpm, based on the "martian" program + by Randolph Chung . + * Huge reorganization, rewrite, and code cleanup. + * As a side effect of the above, alien can also convert tgz into rpm now. + * Use rpm -qcp to list conffiles from rpm files. + * Reworked how conffiles are found from tar files. + * Removed --noinstall option, changed alien to default to not installing + generated packages, added --install option to make it install packages. + * Removed --nopatch/--auto option, and changed patch lookup behavior. See + the man page for an explination of the new behavior. + * Now Recommends: dpkg-dev and make and Suggests: patch + * Dropped feature of making slackware package install scripts into + postinst. If there is any demand, I'll try to work this back into the + program. + * Rewrote most of the man page. + * Fixed the version number so there are two digets in the minor revision + number. + + -- Joey Hess Sat, 29 Mar 1997 21:49:30 -0500 + +alien (3.2) frozen unstable; urgency=low + + * Fixed bug that was preventing alien from figuring out the version number + of a tar file. (#8284) + * Man page fixes, related to #8284. + * Fixed a bug, present since 3.0, which was messing up conffile detection. + * Removed README.debian. (It just pointed users to the man page, which is + rather pointless.) + + -- Joey Hess Mon, 24 Mar 1997 14:03:04 -0500 + +alien (3.1) unstable; urgency=low + + * Force package names to lowercase. + * Fixed --noinstall option. + + -- Joey Hess Mon, 17 Mar 1997 18:35:46 -0500 + +alien (3.00) unstable; urgency=low + + * Rewrote alien in perl. + * Command line options can be specified in any order. + * -ppatch will no longer work. use --patch= instead. + * Improved usage help. + * Include extended description from rpm, if available. + * Fixed a bug with descriptions/summaries/changelogs/copyrights on rpms + that contained the '/' character crashing alien. + * Increment revision number of rpms when they are alianized. + * Recommends: cpio becuase it is needed for rpm2cpio extraction. + * Patch files do not have to be compressed. + * Routine update of debian/rules: + Clean up junk files in subdirs. + + -- Joey Hess Fri, 7 Mar 1997 16:08:02 -0500 + +alien (2.82) unstable; urgency=low + + * Use CHANGELOGTEXT, not CHANGELOG, when querying rpm files for + changelogs. Fixes bug #7445. + * Modification to work with rpm verison 2.3.7. This breaks compatability + with previous versions of rpm. Modified control file to reflect this. + + -- Joey Hess Tue, 25 Feb 1997 21:09:18 -0500 + +alien (2.81) unstable; urgency=low + + * Corrected maintainer in debian/control. + * Routine update of debian/rules: + Modifications for multiple binary package support. + + -- Joey Hess Fri, 7 Feb 1997 22:25:40 -0500 + +alien (2.80) unstable; urgency=low + + * Added a patch file for Applixware. + * I'm looking for patch files for other commercial software, to add to the + package. If you own commerical linux software and would like to + contribute a patch, please contact me. + + * Generated debian/rules files will no longer pass package name to debstd + (And neither does the debian/rules file for this package.) + * Added -s switch for low disk space situations. + * Added -i switch to build a package but not install it. + * Added long options (--option), as I can never remember the short ones. + * Fixed bug in guessing name of patch file to use. + * Fixed bug that would not let you specify a patch file in the current + directory, or a relative path to a patch file. + * Don't use /etc/rpmrc as an indiciation of whether rpm is present, as + this is a conffile, and might be deleted. Test for actual rpm binary. + * More friendly error message if patch file is not found, suggesting that + you try -n option. + * Rewrote the code that figures out information about the rpm files so it + uses rpm --queryformat to determine everything. + * If a rpm has a changelog, add it to the end of debian/changelog. + * Add summary to the Description: field of generated control files. + * Add info from a rpm's copyright field to to the copyright file. + + -- Joey Hess Thu, 30 Jan 1997 20:35:10 -0500 + +alien (2.79) unstable; urgency=low + + * New maintainer. + * Updated man page with new author info. + * Changes to debian/rules to make current maintainer more comfortable. + * Improvements to follow when I find the time.. + + -- Joey Hess Mon, 27 Jan 1997 20:54:47 -0500 + +alien (2.78) unstable; urgency=low + + * Corrected Priority + * Cleanup debmake remnants + + -- Christoph Lameter Sat, 25 Jan 1997 10:51:48 -0800 + +alien (2.77) unstable; urgency=low + + * alien source package completely split off from debmake. Looking for a + new maintainer to provide some fresh ideas. + + -- Christoph Lameter Sat, 25 Jan 1997 10:23:21 -0800 + +debmake (2.76) unstable; urgency=low + + * debstd: Multi-binary support: Generate necessary subdirectories on the + fly from files names subpackage.filename (if such files exist) to comply + with Policy. This results in an alternate way of storing files for + sub-package generation. Remember to erase those directories in the + rules file if using this scheme! + + -- Christoph Lameter Sat, 25 Jan 1997 09:04:21 -0800 + +debmake (2.75) unstable; urgency=low + + * debchange: Fix bug introduced in 2.74 + * debstd: support for configure script + * adpkg: support for package configuration before installation + + -- Christoph Lameter Fri, 24 Jan 1997 13:17:49 -0800 + +debmake (2.74) unstable; urgency=low + + * debstd: Output warning if scripts do not use /bin/sh as its interpreter + #6062 + * bug: default to ae editor if joe is not present #5675, #6811 + * debchange: default to ae editor if joe is not present #6794 + + -- Christoph Lameter Thu, 23 Jan 1997 21:47:39 -0800 + +debmake (2.73) unstable; urgency=low + + * made dependant on perl + * Description in control file updated + * debchange: automatically rename native debian package directories on generating + the next version. Fixes some problems with warnings at package + generation time. + * alien: some minor fixes update of manpage. + * Document nodeps option of debstd + * Fixes to the way uupdate recognizes new version numbers (again!) + + -- Christoph Lameter Mon, 20 Jan 1997 19:51:11 -0800 + +debmake (2.72) unstable; urgency=low + + * Fix Bug #6690: release not able to handle multiple bug numbers. + * Fix Bug #6669 + * debstd: check for debian/changelog and abort if not found + + -- Christoph Lameter Sat, 18 Jan 1997 09:24:43 -0800 + +debmake (2.71) unstable; urgency=low + + * adpkg: support for virtual package recognition + * lots of fixes to adpkg. Add functionality to figure out which installed + packages need to be updated. Rudimentary replacement for dselect. + * Fix to init.d template + + -- Christoph Lameter Fri, 17 Jan 1997 20:24:11 -0800 + +debmake (2.70) unstable; urgency=low + + * new tool: adpkg a front end to dpkg which will install all depending + packages, locate packages on its own and install packages one by one in order + to insure minimum downtime for daemons on mission critical servers. + * bug: give a correct errormessage if packagename not specified instead of + failing with a shell error. + + -- Christoph Lameter Fri, 17 Jan 1997 15:40:01 -0800 + +debmake (2.62) unstable; urgency=low + + * Sue Campbell contributes a HOWTO.first_time + * new tools: todo and done by Hakan Ardo + * Automatically install a debian/TODO if present + + -- Christoph Lameter Thu, 16 Jan 1997 22:07:10 -0800 + +debmake (2.61) unstable; urgency=low + + * debstd: fix recognition of .so in manpages + + -- Christoph Lameter Thu, 16 Jan 1997 09:18:26 -0800 + +debmake (2.60) unstable; urgency=low + + * new tools: deb2asc, asc2deb and asc2debinst allowing the conversion + and easy modification of already packed up debian packages. Also + allows writing of packages with an editor. asc2debinst does not yet + work as intended. + * release: change Bug number matching to match #[0-9]{4,5}. + + -- Christoph Lameter Tue, 14 Jan 1997 10:02:07 -0800 + +debmake (2.59) unstable; urgency=low + + * release: update manpage. + * release: bug clearing did not work right... sigh.... + + -- Christoph Lameter Mon, 13 Jan 1997 22:28:59 -0800 + +debmake (2.58) unstable; urgency=low + + * release: Check for Bug# in changes files and ask maintainer if these + bugs ought to be cleared. (Test Bug#4711) + * debstd: 2.57 broke library scan functionality + * uupdate: allow + characters in upstream packagename + + -- Christoph Lameter Mon, 13 Jan 1997 21:08:03 -0800 + +debmake (2.57) unstable; urgency=low + + * bug: Bug#5619 treat conffiles without \n at the end correctly + * debstd: install maintainer generated shlibs file. Skip Library scan for + that case + * better directory name matching when looking for undocumented binaries. + * link to undocumented.7.gz instead of undoc.7 + + -- Christoph Lameter Sat, 11 Jan 1997 21:15:27 -0800 + +debmake (2.56) unstable; urgency=low + + * bug: -z option added to forbid removal of comments and empty lines from + configfiles. + * debstd: look for manpages also in /usr/X11R6/man + + -- Christoph Lameter Thu, 9 Jan 1997 07:35:10 -0800 + +debmake (2.55) unstable; urgency=low + + * deb-make: Support specialities for native packages (such as copyright + file for example) + * debstd: reverse function of the -u option. Default is now no symlinks + for undocumented binaries. + * build: allow passing of options to dpkg-buildpackage + * patch of Roman Hodek for some problems in debstd + + -- Christoph Lameter Tue, 7 Jan 1997 10:49:19 -0800 + +debmake (2.54) unstable; urgency=low + + * debstd: Wrong warnings about a package not having executables fixed + * two packages bug and alien split out from debmake. Dependencies + reworked. + * debstd: recognize games as a valid location for binaries and + put links into section 6 for those binaries. + * deb-make: fix to package name parsing + * bug: Christian Schwarz: Ability to redirect bug report to stdout. + * deb-make: Fix to document recognition by Christian Schwarz + * uupdate: Diagnostics for existing original archives + + -- Christoph Lameter Sun, 5 Jan 1997 21:17:23 -0800 + +debmake (2.53) unstable; urgency=low + + * made a template from Lars example manpage for debian. Thanks! + template will be customized with packagename, emailname, maintainername + * uupdate: Fix version number recognition for tar files. + + -- Christoph Lameter Sun, 5 Jan 1997 18:46:16 -0800 + +debmake (2.52) unstable; urgency=low + + * uupdate: Fixes to the way the upstream version is recognized + * uupdate: Figure out the new upstream version from patchname. + * uupdate: Fixes to allow using a patch rather than a new archive. + * uupdate: clean archive before patching it. + + -- Christoph Lameter Thu, 2 Jan 1997 20:14:41 -0800 + +debmake (2.51) unstable; urgency=low + + * debstd: sometimes the associated manpage to a binary was not found + and an undocumented.7 link installed despite of the presence of a manpage! + * debstd: if first parameter was not the package name that documentation + file was not installed. + * deb-make: Better matching for documentation + + -- Christoph Lameter Wed, 1 Jan 1997 17:40:54 -0800 + +debmake (2.50) unstable; urgency=low + + * deb-make: probe for common forms of documentation in a sourcecode + package and generate a rules file to install those by default. + * debian/rules templates updated to reflect changes. + * debstd: generate /usr/doc/package/changelog for native packages + * debstd: does not need packagename anymore on invocation + * debstd: Generate manpage symlinks for executables without corresponding + manpages. + * debchange: Fix bug #6380. + * changelog fixed to spell Santiago's name correctly etc. + + -- Christoph Lameter Wed, 1 Jan 1997 13:12:11 -0800 + +debmake (2.41) unstable; urgency=low + + * Check for /etc/suid.conf instead for /usr/bin/suidregister for suid + binaries to avoid pre-dependency problems for suidmanager. + * strip -g only for libraries instead of a full strip (Santiago Vila) + * Changes to the rules template according to suggestion by Santiago Vila. + + -- Christoph Lameter Sun, 29 Dec 1996 12:43:11 -0800 + +debmake (2.40) unstable; urgency=low + + * uscan watch template provided. + * new tool uscan: Scan upstream ftp sites for new releases and then + dowload upstream releases, perform upstream update (using "uupdate"), + rebuild package(s) (using "build") and upload new package (using + "release") (Actions customizable, full automatic operation discouraged). + Experimental status right now. + + -- Christoph Lameter Wed, 25 Dec 1996 12:06:32 -0800 + +debmake (2.30) unstable; urgency=low + + * debchange: -v option to set the version number provided + * new tool uupdate: automatize upstream updates for sourcecode packages + + -- Christoph Lameter Tue, 24 Dec 1996 22:33:02 -0800 + +debmake (2.21) unstable; urgency=low + + * debstd: shlib generation: .shlibs file does not belong into -dev + package as previously claimed. .shlibs file put into library package + restoring what previous versions of debmake did. The versions 2.17-2.20 + produced unusable .shlibs files! + + -- Christoph Lameter Mon, 23 Dec 1996 19:59:16 -0800 + +debmake (2.20) unstable; urgency=low + + * debstd: examples / docs documents were moved with directory. + * Bug in inetd.conf postrm handling + + -- Christoph Lameter Sun, 22 Dec 1996 16:26:32 -0800 + +debmake (2.19) unstable; urgency=low + + * example .forward file for the exim mailer provided + * debstd: diversions set the wrong package name + * build: use gid=0 when building packages to avoid generating wrong + ownerships. + + -- Christoph Lameter Thu, 19 Dec 1996 10:17:33 -0800 + +debmake (2.18) unstable; urgency=low + + * check dependencies of provided sharable libraries in addition to + executables when calling dpkg-shlibdeps for a package. + * info.ex: wrong spelling + * debstd: manpage updated. + * debstd: generate a changelog entry if debian/RELEASED is present. + * shlibs management cleaned up. + + -- Christoph Lameter Mon, 16 Dec 1996 22:21:56 -0800 + +debmake (2.17) unstable; urgency=low + + * deb-make: add capability to copy sample libraries. Samples for + multi-binary and library revised. + * If first documentation file for debstd has "change" in its name install + that file as changelog.upstream (according to standard). + Please be sure in the future to list the upstream changelog first after + the package name + * Changed Library Templates according to Guy's advice + + -- Christoph Lameter Mon, 16 Dec 1996 21:14:56 -0800 + +debmake (2.16) unstable; urgency=low + + * Library link for library.so was not generated. + * Message regarding tar of debstd cleaned up. + + -- Christoph Lameter Mon, 16 Dec 1996 10:02:40 -0800 + +debmake (2.15) unstable; urgency=low + + * added instruction regarding tar problem + * .shlibs file not correctly generated (Major Number screwed up) + + -- Christoph Lameter Mon, 16 Dec 1996 08:01:43 -0800 + +debmake (2.14) unstable; urgency=low + + * deb-make asks for the type of package (single,multi,library) to generate + and does not clutter the debian directory so much with .ex files. + * Templates updated to use easier method for generating directories + through a "dirs" file in the debian directory listing all necessary + directories. + * Incorrect menu template + * Update Standards number to current + + -- Christoph Lameter Sat, 14 Dec 1996 18:08:03 -0800 + +debmake (2.13) unstable; urgency=low + + * debstd: bug in processing of menus + * deb-make gave an errormessage about not finding a file. Did not + affect functionality. + + -- Christoph Lameter Sat, 14 Dec 1996 10:04:50 -0800 + +debmake (2.12) unstable; urgency=low + + * Prototype for library rules simplified + * debstd: strip static libraries + * debstd: automatically generate symlinks for sharable elf libraries + + -- Christoph Lameter Sat, 14 Dec 1996 04:25:14 -0800 + +debmake (2.11) unstable; urgency=low + + * Automatically strip libraries found. + * Prototypes provided for ELF Library development + + -- Christoph Lameter Fri, 13 Dec 1996 21:08:32 -0800 + +debmake (2.10) unstable; urgency=low + + * menu package support: deb-make installs an template for the menu + package. + * debstd: Clean up package by removing empty directories if a file "clean" exists. + * Joey: Support for Joost's menu package. + + -- Christoph Lameter Fri, 13 Dec 1996 18:24:35 -0800 + +debmake (2.09) unstable; urgency=low + + * debstd: bug in info file processing + * debstd multi-binary support: package tmp directory was not created. + The control file "files" used to fail. + * debstd manpage revised . + + -- Christoph Lameter Fri, 13 Dec 1996 10:42:40 -0800 + +debmake (2.08) unstable; urgency=low + + * template inetd.conf.ex updated with example how to place an entry in a + section + * release: post the processed control file from debian/tmp/DEBIAN instead + of the one from the debian directory when announcing packages. + * debstd: warn if empty /usr/info + + -- Christoph Lameter Thu, 12 Dec 1996 05:24:39 -0800 + +debmake (2.07) unstable; urgency=low + + * debstd: manpage updated + * inetd.conf processor added (allows specification of sections and multiple entries) + + -- Christoph Lameter Wed, 11 Dec 1996 21:01:19 -0800 + +debmake (2.06) unstable; urgency=low + + * debstd: support for adding sections to /etc/aliases + * bug: manpage + errormessage updated for filing bug reports as root + + -- Christoph Lameter Wed, 11 Dec 1996 08:43:48 -0800 + +debmake (2.05) unstable; urgency=low + + * debstd: Dont install copyright file if already installed by maintainer + * debstd: Do not compress .gif and .html. + New switch -c to switch off all compression for docs since there might + be other html stuff not to be compressed. + * release: Check environment variable DEBIAN_RELEASE_DESTINATION and + uploads to that site. Default to master. + * release: Consults a database of possible upload sites in + /usr/lib/deb-make/upload.sites. Need to have the data for chiark! + + -- Christoph Lameter Sun, 8 Dec 1996 20:18:29 -0800 + +debmake (2.04) unstable; urgency=low + + * bug: set -v was accidentally left in the script + + -- Christoph Lameter Sun, 8 Dec 1996 19:16:01 -0800 + +debmake (2.03) unstable; urgency=low + + * added the possibility to upload to other hosts using scp + (ftp.fuller.edu and lalug.org available right now. Could someone sent me + the data on chiark?) + * depend on package file + * debstd: info files not in main distribution directory were not installed. + + -- Christoph Lameter Wed, 4 Dec 1996 20:56:35 -0800 + +debmake (2.02) unstable; urgency=low + + * bug: some more changes to the way subject lines are handled + * debstd: some bugfixes relating to suid processing pointed out by Johnie Ingram + * bug: Follow symlinks when trying to figure out the type of configfile + * bug: Subject line can be edited when in the editor. + * bug: debug switch (-d) added to send mail to postmaster@localhost + * bug: manpage updated + * fix some issues with multi-binary packages in debstd + * template rules.multi updated + + -- Christoph Lameter Sat, 23 Nov 1996 07:01:17 -0800 + +debmake (2.01) experimental; urgency=low + + * debstd manpage updated regarding suidmanager processing. + + -- Christoph Lameter Fri, 22 Nov 1996 16:22:19 -0800 + +debmake (2.00) experimental; urgency=low + + * Support for suidmanager (Generated scripts will check for presence of + suidmanager and not use it if no suidmanager exists). + A package can simply be rebuild and will use suidmanager if any + setsid or setgid binaries are present. (ppp 2.3 is an example) + Not documented yet. + * debmake uses suidmanager to register build and debpkg with REGULAR + permissions so that they can be changed in /etc/suid.conf + * deb-make: Message on completion of debmake did not display intended text + * bug: allow maintonly (-m) or quiet (-q) bug reports + * bug: wrong matches on dependency parenthesis + * bug: check if called with UID=0 and abort + * control files reworked + * Manual Pages updated + * Multi-Binary capabilities now available from debstd. debmstd ceases to + exist. + + -- Christoph Lameter Tue, 19 Nov 1996 11:28:38 -0800 + +debmake (1.99) unstable; urgency=low + + * procmail examples for filtering debian mailing lists included + * README.debian revised: Made it clearer that debmake does not + install any setuid programs. + * build: include path for X11 binaries + * bug: check if options given AFTER the packagename and give an + errormessage if this is the case + + -- Christoph Lameter Fri, 15 Nov 1996 12:18:45 -0800 + +debmake (1.98) unstable; urgency=low + + * bug: artistics to figure out versions of virtual packages (Thanks to the + support by Joey + Guy). Not sure if this will work for all packages though. + * debmstd: add analysis of executable formats and warn if unknown. + * bug: add options to suppress config files and supply a subject + * bug: dont list configfiles that are binaries + + -- Christoph Lameter Thu, 14 Nov 1996 18:02:16 -0800 + +debmake (1.97) unstable; urgency=low + + * bug: speedup (circumvents dpkg now) + * bug: allows filing a bug report against anything + + -- Christoph Lameter Tue, 12 Nov 1996 20:51:37 -0800 + +debmake (1.96) unstable; urgency=low + + * release: use dupload if installed + (One always needs to specify the host to upload to though.) + * bug: removed some lines from the bugreports that were not really + essential. + + -- Christoph Lameter Tue, 12 Nov 1996 13:22:14 -0800 + +debmake (1.95) unstable; urgency=low + + * release: Changes file was not uploaded (why is it not listed in the + changesfile itself if it is to be uploaded ????) + + -- Christoph Lameter Mon, 11 Nov 1996 21:30:20 -0800 + +debmake (1.94) unstable; urgency=low + + * alien: bug when building rpm packages + * deb-make does no longer accept strange characters in directorynames. + + -- Christoph Lameter Fri, 8 Nov 1996 19:41:30 -0800 + +debmake (1.93) unstable; urgency=low + + * bug: Depends: field was required in the description of the package + processed. + * debstd: bug in info processing. copied from debian instead of the main + sourcedirectory. + + -- Christoph Lameter Fri, 8 Nov 1996 15:44:33 -0800 + +debmake (1.92) unstable; urgency=low + + * build: manpage updated + * build: add support for targets binary-indep and binary-arch + + -- Christoph Lameter Fri, 8 Nov 1996 06:12:18 -0800 + +debmake (1.91) unstable; urgency=low + + * suidwrappers will be disabled on installation/upgrade. Instructions are + provided on how to use these wrappers from sudo, super or directly in + README.debian. + + -- Christoph Lameter Thu, 7 Nov 1996 13:39:50 -0800 + +debmake (1.90) unstable; urgency=low + + * depend on dpkg and dpkg-dev + * debmstd: New command for experimental support of multi-binary packages + (debmstd will replace debstd when tested and found stable) + * debmake: Generates templates for multi-binary packages + * release: improved handling of files for multi-binary support + * Example setup for multi-binary support included (mgetty) + + -- Christoph Lameter Wed, 6 Nov 1996 10:06:41 -0800 + +debmake (1.23) unstable; urgency=low + + * release: add an option "announce" to manually specify that + debian/control should be posted. + * bug in release: Announcement generated for releases + + -- Christoph Lameter Tue, 5 Nov 1996 10:54:34 -0800 + +debmake (1.22) unstable; urgency=low + + * New directive in init scripts: NO_RESTART_ON_UPGRADE + * Location of check for conffiles moved in debstd + + -- Christoph Lameter Tue, 5 Nov 1996 06:26:27 -0800 + +debmake (1.21) unstable; urgency=low + + * control prototype: standards made current + * rules prototype chmod changed (Brian C. White) + + -- Christoph Lameter Mon, 4 Nov 1996 09:13:54 -0800 + +debmake (1.20) unstable; urgency=low + + * debclean: can be called as a regular user + * build: Added clean option + + -- Christoph Lameter Mon, 4 Nov 1996 05:42:37 -0800 + +debmake (1.19) unstable; urgency=low + + * build: Fixed behavior in case invoked in the wrong directory + * debstd: Build /usr/doc/package/buildinfo.Debian with information + regarding the system it was build on. (Chris Fearnley) + * rules prototype revised + * Removed junk from changelog prototype + + -- Christoph Lameter Sun, 3 Nov 1996 16:54:09 -0800 + +debmake (1.18) unstable; urgency=low + + * debc does both dpkg -I and dpkg -c + + -- Christoph Lameter Sun, 3 Nov 1996 16:04:35 -0800 + +debmake (1.17) unstable; urgency=low + + * deb-make + alien: Username lookup now possible via NIS + + -- Christoph Lameter Sat, 2 Nov 1996 17:29:14 -0800 + +debmake (1.16) unstable; urgency=low + + * Some fixes to README.debian + * Fixed bugs in the way debian/changelog is located in debi,debc,release + + -- Christoph Lameter Sat, 2 Nov 1996 09:52:59 -0800 + +debmake (1.15) unstable; urgency=low + + * New: "debi" installs generated .deb file (convenience script) + * New: "debc" views contents of generated .deb file (convenience script) + * Typical developmental cycle documented in README.debian + * release: print scp error message and the e-mail address the announcement goes to + + -- Christoph Lameter Sat, 2 Nov 1996 08:48:25 -0800 + +debmake (1.14) unstable; urgency=low + + * New: "build" a suid wrapper for dpkg-buildpackage and "debian/rules binary" + * New: "debpkg" a suid wrapper for dpkg. + * debmake includes C code now and thus is architecture dependent + * Suid wrappers accessible for users of group "root" only. + * Complete development cycle possible from a regular account without + having to "su". + * Added check for the presence of ssh to "release" before trying + do to an upload to master. + * bug: filters comments and empty lines out of conffiles so that the + included conffiles are not that long anymore. + + -- Christoph Lameter Sat, 2 Nov 1996 06:27:15 -0800 + +debmake (1.13) unstable; urgency=low + + * Bug in release: Announce to wrong mailing list+ Bruces suggestions + + -- Christoph Lameter Fri, 1 Nov 1996 15:54:08 -0800 + +debmake (1.12) unstable; urgency=low + + * debchange: RELEASED file not erased + * More errorchecking in release + * Removed creation of /etc from prototype + * Updated docs + + -- Christoph Lameter Fri, 1 Nov 1996 11:21:24 -0800 + +debmake (1.11) unstable; urgency=low + + * release script was not included + + -- Christoph Lameter Fri, 1 Nov 1996 11:15:23 -0800 + +debmake (1.10) unstable; urgency=low + + * Added a new tool "release" which will upload to master announce changes + and record the fact that a release has been done in debian/RELEASED. + * debchange: Generate a new release without specifically told so if + the software has been released and a debian/RELEASED file is present. + * debmake now takes the "Did I already upload this or not?" worry from you. + and manages releases on its own. + + -- Christoph Lameter Fri, 1 Nov 1996 11:03:53 -0800 + +debmake (1.09) unstable; urgency=low + + * bug tool reworked: It now automatically includes Debian Version, Kernel + version, a list of the version numbers of packages this package depends + on and includes all modified conffiles. + + -- Christoph Lameter Fri, 1 Nov 1996 09:58:11 -0800 + +debmake (1.08) unstable; urgency=low + + * Bug in etc.postrm + * Made sure that documentation is installed mode 644 owned by root. + * Updated Docs + + -- Christoph Lameter Thu, 31 Oct 1996 15:06:22 -0800 + +debmake (1.07) unstable; urgency=low + + * check for EDITOR environment variable + * debstd warn on /etc files not in conffiles and conffiles not + provided in /etc and on having files in /etc but no conffile (Bruce) + * exceptions for library dependencies possible + + -- Christoph Lameter Thu, 31 Oct 1996 10:32:26 -0800 + +debmake (1.06) unstable; urgency=low + + * structure of alien .orig file changes to be more or less conformant with + the way source .orig files are done. Diffs better readable now and the + customization includes the generators e-mail and name into the control + files. + + -- Christoph Lameter Thu, 31 Oct 1996 06:08:50 -0800 + +debmake (1.05) unstable; urgency=low + + * rpminstall, tgzinstall replaced by alien command + * alien structure allows moving around of binaries and patching them + in debian/rules. + * alien command needs testing and some real life experiences + + -- Christoph Lameter Wed, 30 Oct 1996 21:43:35 -0800 + +debmake (1.04) unstable; urgency=low + + * bug in generation of modifications for files in /etc + + -- Christoph Lameter Wed, 30 Oct 1996 17:46:35 -0800 + +debmake (1.03) unstable; urgency=low + + * debchange: no output in batch mode anymore + * rpminstall, tgzinstall: -d option switches of calling debian/rules binary + * debstd bug when giving the -m option. + * On Bruces advice: advanced stripping of all binaries + + -- Christoph Lameter Wed, 30 Oct 1996 08:02:30 -0800 + +debmake (1.02) unstable; urgency=low + + * Revised description in control + * If the package provides libraries those are detected, appropriate + information is generated for dpkg in "DEBIAN/shlibs" and a call to ldconfig + is placed into the automatically generated postinst script. + + -- Christoph Lameter Mon, 28 Oct 1996 09:23:05 -0800 + +debmake (1.01) unstable; urgency=low + + * new command tgzinstall: Converts / installs a Slackware .tgz package + with dpkg using the same technique as rpminstall. + * rpminstall: diverse fixes + * Bug: debmake installed X11 manpages twice and did not compress them + * rpminstall generated .deb not erased + + -- Christoph Lameter Sun, 27 Oct 1996 14:20:25 -0800 + +debmake (1.00) unstable; urgency=low + + * rpminstall : convert a package to debian (semi)sourcepackage, build it + and install with dpkg. Does not do installation scripts right now. + I was able to install gated like a debian package. + * rpminstall enables a direct installation of Red Hat packages into the + debian package maintenance system! All dpkg commands will work on it! + * rpminstall uses debstd and thus compresses manpages + documentation and + computes dependencies according to the libraries referenced by the + ELF binaries in the Red Hat package. + + -- Christoph Lameter Sun, 27 Oct 1996 12:17:51 -0800 + +debmake (0.99) unstable; urgency=low + + * debstd gives message for unstripped binaries and strips them + + -- Christoph Lameter Sat, 26 Oct 1996 19:20:58 -0700 + +debmake (0.98) unstable; urgency=low + + * New command bug to assist in sending bug reports + * debchange: added batch mode f.e. : dch -n Bug fixed + reults in generating a new release number and putting "bug fixed" in + the correct place in changelog + + -- Christoph Lameter Sat, 26 Oct 1996 09:42:00 -0700 + +debmake (0.97) unstable; urgency=low + + * Example file for inetd.conf configuration provided + * Recognize package names with a - + * Manpages reworked. Manpage for debclean added + + -- Christoph Lameter Fri, 25 Oct 1996 09:37:17 -0700 + +debmake (0.96) unstable; urgency=low + + * debstd seaches for all executable binaries in package and runs + dpkg-shlibdeps on all ELF binaries. No need to separately run + dpkg-shlibdeps anymore. + + -- Christoph Lameter Thu, 24 Oct 1996 19:45:44 -0700 + +debmake (0.95) unstable; urgency=low + + * bugs in deb-make fixed. Checks for existing .orig archive + + -- Christoph Lameter Thu, 24 Oct 1996 14:33:07 -0700 + +debmake (0.94) unstable; urgency=low + + * Set executable bit on debian/rules + + -- Christoph Lameter Wed, 23 Oct 1996 17:57:51 -0700 + +debmake (0.93) unstable; urgency=low + + * bug in deb-make. Failed with cannot find X + + -- Christoph Lameter Wed, 23 Oct 1996 10:39:11 -0700 + +debmake (0.92) unstable; urgency=low + + * backup files removed + * use /etc/mailname to figure out e-mail address + + -- Christoph Lameter Tue, 22 Oct 1996 20:06:46 -0700 + +debmake (0.91) unstable; urgency=low + + * inetd.conf script generation added + * Got rid of all temp files to speed up debstd + * Updated debstd manpage + * Fixed diversions so that they really work. + * Added -m option to switch of the automatic installation of manpages + + -- Christoph Lameter Tue, 22 Oct 1996 16:29:17 -0700 + +debmake (0.9) unstable; urgency=low + + * Generate scripts for diversions (not sure if the code is up to standard) + * Cleanup debstd + * 822-date instead of date used to generate the date info. + * Ability to generate scripts to add to config files in /etc included + * example files and documentation files can be listed in file in debian + + -- Christoph Lameter Tue, 22 Oct 1996 00:41:08 -0800 + +debmake (0.8) unstable; urgency=low + + * Generates maintenance scripts for info files, init.d scripts, purging of + files. + + -- Christoph Lameter Mon, 21 Oct 1996 09:20:23 -0800 + +debmake (0.7) unstable; urgency=low + + * Updated documentation + * Progress indicator + * Some errormessages from gzip avoided + * converts manpages just having .so in it to symlinks + * Gzipping separated for manpages (all), info (all) and docs (>4K) + so we can easily adapt in case of future changes of policies. + + -- Christoph Lameter Sun, 20 Oct 1996 14:51:06 -0800 + +debmake (0.6) unstable; urgency=low + + * debmake did not install scripts in debian directory! + + -- Christoph Lameter Thu, 17 Oct 1996 06:47:16 -0800 + +debmake (0.5) unstable; urgency=low + + * Manpages were installed as executables + * Display of redirected links was not correct + + -- Christoph Lameter Wed, 16 Oct 1996 22:12:56 -0800 + +debmake (0.4) unstable; urgency=low + + * Added automatic compression of documentation in /usr/man and /usr/doc + if files are >1K. + * Checks for dangling symlinks and redirects symlinks to filenames that + were changed due to compression. + * Added rc.boot handling + * Permissions for documentation were set to executable when debstd was + used. + + -- Christoph Lameter Wed, 16 Oct 1996 08:44:26 -0800 + +debmake (0.3) unstable; urgency=low + + * Added a perl script debchanges which does maintenance of + debian/changelog + * Added manpage for debchanges and an alias "dch" since it is frequently + used. + + -- Christoph Lameter Fri, 11 Oct 1996 14:00:15 -0800 + +debmake (0.2) unstable; urgency=low + + * Added a native mode to have a package that does not need an .orig directory + * Put debstd into /usr/bin so that it does not have to be included in the + source archives. + * Added manpages for debstd and deb-make + + -- Christoph Lameter Thu, 10 Oct 1996 13:21:48 -0800 + +debmake (0.1) experimental; urgency=low + + * Initial Release. + + -- Christoph Lameter Thu, 10 Oct 1996 13:21:48 -0800 + +Local variables: +mode: debian-changelog +End: diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..e77696a --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program 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., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..243b532 --- /dev/null +++ b/INSTALL @@ -0,0 +1,15 @@ +To install alien, become root and type "make install". + +To use alien, you will need several other programs. Alien is a perl program, +and requires perl version 5 or greater. You must also have the Getopt::Long +perl module installed on your system, I believe this is a standard part of +perl. + +To convert packages to rpms, you need the rpm package manager; get it from +Red Hat's ftp site. + +If you want to convert packages to debian packages, you will need the dpkg, +dpkg-dev, and debmake packages, which are available on the Debian ftp site. +You'll also need gcc, and make. + +Please report any bugs to the author: Joey Hess diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..10adc96 --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +# This makefile is really small. Most of the +# intelligence is in debian/debstd + +all: + +clean: + -rm build + +install: + install -d $(DESTDIR)/usr/bin + install alien $(DESTDIR)/usr/bin + install -d $(DESTDIR)/usr/lib/alien $(DESTDIR)/var/lib/alien + cp -a lib/* $(DESTDIR)/usr/lib/alien diff --git a/README b/README new file mode 100644 index 0000000..61c82a2 --- /dev/null +++ b/README @@ -0,0 +1,43 @@ +Alien is a program that converts rpm, dpkg, or slackware tgz packages into +rpm or dpkg packages. If you're using Debian or Red Hat and you want to +install a package from one of the other distributions, you can use alien to +convert it to your preferred package format and install it. + +Despite the high version number, alien is still (and will probably always +be) rather experimental software. It has been used and tested by Debian +users for many months, but there are still many limitations. For one thing, +Alien only handles binary packages, not source packages. It also doesn't try +to convert the scripts that should be run when the package installs. + +Alien should not be used to replace important system packages, like sysvinit, +shared libraries, or other things that are essential for the functioning of +your system. Many of these packages are set up differently by Debian and +Red Hat, and packages from the different distributions cannot be used +interchangably. In general, if you can't uninstall the package without +breaking your system, don't try to replace it with an alien version. + +Alien has successfully been used for converting add on software, such as +Applixware, Metro X, and many other packages. + +Getting alien: + +Alien will be available on Sunsite, but it hasn't moved out of Incoming yet. +For now, you can get it at the alien home page: + http://kite.ml.org/programs/alien/ + +You can also get rpm or deb packages of alien: +deb: ftp://master.debian.org/debian/unstable/binary-all/admin/alien_5.0.deb +rpm: ftp://ftp.redhat.com/pub/contrib/RPMS/alien-5.0-1.i386.rpm + +Other things you'll need: + +To use alien, you will need several other programs. Alien is a perl program, +and requires perl version 5 or greater. You must also have the Getopt::Long +perl module installed on your system. I believe this is a standard part of +perl. + +To convert packages to or from rpms, you need the Red Hat Package Manager; +get it from Red Hat's ftp site. + +If you want to convert packages into debian packages, you will need the dpkg, +dpkg-dev, and debmake packages, which are available on the Debian ftp site. diff --git a/alien b/alien new file mode 100755 index 0000000..9dd986a --- /dev/null +++ b/alien @@ -0,0 +1,220 @@ +#!/bin/sh + +# Script to handle alien packages under Debian +# +# Options: +# -p Manually specify a patch +# -n Install an alien package using heuristics +# -g Prepare directories for development +# +# Christoph Lameter, October 30, 1996 + +set -e + +LIB=/usr/lib/alien + +while expr "$1" : '-.*' >/dev/null; do + case $1 in + -n) NOPATCH=1 + ;; + -g) GENERATE=1 + ;; + -p*) PATCHFILE=`expr "$1" : '-p\(.*\)'` + if [ ! -f "$PATCHFILE" ]; then + echo "$PATCHFILE not found" + exit 1 + fi + ;; + *) echo "Bad option $1" + exit 1 + ;; + esac + shift +done + +if [ "$NOPATCH" -a "$PATCHFILE" ]; then + echo "Cannot handle -n and -p options simultaneously" + exit 1 +fi + +FILE=$1 + +if [ "$FILE" = "" ]; then + echo "Usage: alien [-n] [-g] [-p] " + exit 1 +fi + +if [ ! -f $FILE ]; then + echo "File $FILE not found" + exit 1 +fi + +DATE="`822-date`" + +# Cut off the directory name +if echo $FILE|grep -q "/"; then + X=`expr $FILE : '.*/\(.*\)'` +else + X="$FILE" +fi + +if expr $X : '.*\.rpm' >/dev/null; then + RPM=1 + if [ ! -f /etc/rpmrc ]; then + echo "RPM Package Manager not installed" + exit 1 + fi + X=`expr $X : '\(.*\)\.rpm'` +else + case $X in + *.tgz) X=`expr $X : '\(.*\).tgz'` ;; + *.tar.gz) X=`expr $X : '\(.*\).tar.gz'` ;; + *) echo "Format of filename bad $FILE" ;; + esac +fi + +if [ "$NOPATCH" = "" ]; then + if [ "$PATCHFILE" = "" ]; then + PATCHFILE=/var/lib/alien/$X.diff.gz + fi + + if [ ! -f $PATCHFILE -a "$GENERATE" = "" ]; then + echo "Patchfile $PATCHFILE not found." + exit 1 + fi + if [ ! -f $PATCHFILE ]; then + PATCHFILE= + fi +fi + +if [ "$RPM" ]; then + # Analyze the FILE name + PACKAGE=`expr $X : '\(.*\)-.*-.*\..*'` + VERSION=`expr $X : '.*-\(.*\)-.*\..*'` + DELTA=`expr $X : '.*-.*-\(.*\)\..*'` + ARCHIT=`expr $X : '.*-.*-.*\..\(.*\)'` + + if [ "$DELTA" = "" -o "$VERSION" = "" -o "$PACKAGE" = "" ]; then + echo "Filename must have the form Package-Version-Release.Architecture.rpm" + exit 1 + fi + + if [ "$ARCHIT" = "386" ]; then + ARCHIT=i386 + fi + CDIR=rpm +else +# Generic handling for slackware and tar.gz packages + if echo $X | grep -q "-"; then + PACKAGE=`expr $X : '\(.*\)-.*'` + VERSION=`expr $X : '.*-\(.*\)'` + else + PACKAGE=$X + VERSION=1 + fi + + if [ "$VERSION" = "" -o "$PACKAGE" = "" ]; then + echo "Filename must have the form Package-Version.tgz" + exit 1 + fi + + ARCHIT=i386 + DELTA=1 + CDIR=tgz +fi + +mkdir $PACKAGE-$VERSION +cd $PACKAGE-$VERSION +mkdir debian + +echo "-- Unpacking $FILE" +if [ "$RPM" ]; then + (cd ..;rpm2cpio $FILE) | cpio --extract --make-directories --no-absolute-filenames +# install script could be located here. +else +# Must be a tar file + tar zxpf ../$FILE + # Make install script to postinst + if [ -e install/doinst.sh ]; then + mv install/doinst.sh debian/postinst + if ! rmdir install; then + echo "Other files besides doinst.sh present in install directory" + echo "Install script cannot be used as postinst script!" + mv debian/postinst install/doinst.sh + fi + fi +fi + +if [ "$GENERATE" ]; then + cd .. + cp -a $PACKAGE-$VERSION $PACKAGE-$VERSION.orig + echo "Directories $PACKAGE-$VERSION.orig + $PACKAGE-$VERSION prepared." + cd $PACKAGE-$VERSION +fi + + +# Now lets patch it! +if [ "$PATCHFILE" ]; then + echo "-- Patching in $PATCHFILE" + zcat $PATCHFILE | patch -p1 + X=`find . -name "*.rej"` + if [ "$X" ]; then + echo "Patch failed: giving up" + exit 1 + fi + rm `find . -name "*.orig"` +else + echo "-- Automatic package debianization" + # Generate all the values we need + if [ "$EMAIL" = "" ]; then + EMAIL="$USER@`cat /etc/mailname`" + fi + USERNAME=`awk -F: -vUSER=$USER '$1 == USER { print $5; }' /etc/passwd` + + if [ "$USERNAME" = "" -a -x /usr/bin/ypmatch ]; then + # Give NIS a try + USERNAME=`ypmatch $USER passwd.byname|awk -F: '{ print $5; }'` + fi + + if echo $USERNAME | grep -q "\,"; then + X=`expr index "$USERNAME" ","` + X=`expr $X - 1` + USERNAME=`expr substr "$USERNAME" 1 $X` + fi + + cd debian + X=`(cd $LIB/$CDIR;ls)` + for i in $X; do + sed <$LIB/$CDIR/$i >$i -e "s/#PACKAGE#/$PACKAGE/g" \ + -e "s/#VERSION#/$VERSION/g" \ + -e "s/#DELTA#/$DELTA/g" \ + -e "s/#ARCHIT#/$ARCHIT/g" \ + -e "s/#EMAIL#/$EMAIL/g" \ + -e "s/#USERNAME#/$USERNAME/g" \ + -e "s/#DATE#/$DATE/g" + done + + if [ "$RPM" ]; then + (cd ../..;rpm -qpi $FILE) >>copyright + fi + + cd .. + # Assume all files in etc are conffiles + if [ -d etc ]; then + find etc -type f -printf "/%p\n" >debian/conffiles + fi +fi + +chmod a+x debian/rules + +if [ "$GENERATE" = "" ]; then + echo "-- Building the package $PACKAGE-$VERSION-$DELTA.deb" + debian/rules binary + cd .. + rm -rf $PACKAGE-$VERSION + echo "-- Installing generated .deb package" + dpkg -i $PACKAGE*.deb + rm $PACKAGE\_$VERSION-$DELTA*.deb +fi +echo "-- Successfully finished" +exit 0 diff --git a/alien.1 b/alien.1 new file mode 100644 index 0000000..43dfaaa --- /dev/null +++ b/alien.1 @@ -0,0 +1,68 @@ +.TH alien 1L "Debian Utilities" "DEBIAN" \" -*- nroff -*- +.SH NAME +alien \- Install / Patch an alien binary package +.SH SYNOPSIS +\fBalien\fP [\fB\-n\fP] \fBalien-package-file\fP +.br +\fBalien\fP \fB\-ppatch\fP \fBalien-package-file\fP +.br +\fBalien\fP \fB\-g\fP [\fB\-ppatch\fP] \fBalien-package-file\fP +.SH DESCRIPTION +alien allows foreign packages to be installed under the debian package +manager. +.br +Commonly alien is simply called with a parameter giving the alien packagename +to be installed. A look up will then be done in +.B /var/lib/alien/packagename*.diff.gz . +If such a diff exists then the alien +package is unpacked, the patch is applied, a temporary .deb package +generated and finally installed. If there is no such diff then alien will +fail (unless the -n option is given). +.PP +With the -n option the optimistic assumption is made that the alien package +will work without any changes under the Debian scheme of things. If things +break then you can simply uninstall the package using the debian package +manager. +.PP +With the -g option a package layout suitable for the development of patches +is created from the alien package. A directory packagename.orig and a +directory is generated. Changes can be made to the packagename +directory and all commonly used tools for sourcepackages will work on the +packet. For example a .deb file can be generated using +.B debian/rules binary +and can then be installed in a regular way. Even +.B dpkg-buildpackage +will generate the usual files. +.PP +This tool probably needs to be run as superuser. Make sure that there is +enough room in the current directory since +.B alien +will build a debian package in that location. +.SH ALIEN PACKAGE FORMATS +alien supports the Red Hat .rpm format, Slackware .tgz formant and the +generic .tar.gz format. For the rpm format the Red Hat Package Manager must +be installed (See +.B rpm(8) +). +.SH LIMITATIONS +Installation scripts for rpm packages are not supported. +.PP +You must specify a full path for the -p option. +.PP +All files in /etc are assumed to be configuration files. +.SH OPTIONS +.TP +.I -n +Assume the alien package can be installed without any patches. +.TP +.I -g +Generate a source package suitable for patching and moving binaries around +.TP +.I -ppatch +Specify the patch to be used instead of automatically looking the patch up +in +.B /var/lib/alien + +.SS AUTHOR +Alien was written by Christoph Lameter +It is now being maintained by Joey Hess diff --git a/alien.lsm b/alien.lsm new file mode 100644 index 0000000..4bc8e04 --- /dev/null +++ b/alien.lsm @@ -0,0 +1,13 @@ +Begin3 +Title: alien +Version: 4.00 +Entered-date: 31MAR97 +Description: Alien converts Slackware .tgz packages, Red Hat .rpm packages + and Debian .deb packages. It can convert these formats to + either .deb or .rpm. It works only on binary packages. +Keywords: dpkg rpm tgz convert +Author: joey@kite.ml.org +Primary-site: sunsite.unc.edu /pub/Linux/utils/scripts + 32 alien-4.00.tar.gz +Copying-policy: GPL +End diff --git a/alien.lsm.in b/alien.lsm.in new file mode 100644 index 0000000..54c06a9 --- /dev/null +++ b/alien.lsm.in @@ -0,0 +1,13 @@ +Begin3 +Title: alien +Version: @version@ +Entered-date: 31MAR97 +Description: Alien converts Slackware .tgz packages, Red Hat .rpm packages + and Debian .deb packages. It can convert these formats to + either .deb or .rpm. It works only on binary packages. +Keywords: dpkg rpm tgz convert +Author: joey@kite.ml.org +Primary-site: sunsite.unc.edu /pub/Linux/utils/scripts + 32 alien-@version@.tar.gz +Copying-policy: GPL +End diff --git a/alien.sh b/alien.sh new file mode 100755 index 0000000..6dfcfea --- /dev/null +++ b/alien.sh @@ -0,0 +1,295 @@ +#!/bin/sh + +# Script to handle alien packages under Debian +# +# Options: +# -p Manually specify a patch +# -n Build an alien package using heuristics +# -g Prepare directories for development +# -s Like -g, but prepare single directory for debian-only package +# -i Do not install package after building it. +# +# Christoph Lameter, October 30, 1996 + +set -e +#set -v + +LIB=/usr/lib/alien + +while expr "$1" : '-.*' >/dev/null; do + case $1 in + --auto|--nopatch|-n) + NOPATCH=1 + ;; + --generate|-g) + GENERATE=1 + ;; + --noinstall|-i) + NOINSTALL=1 + ;; + --single|-s) + SINGLE=1 + NOPATCH=1 + NOBUILD=1 + NOINSTALL=1 + ;; + --patch=*) + PATCHFILE=`expr "$1" : '--patch=\(.*\)'` + if [ ! -f "$PATCHFILE" ]; then + echo "$PATCHFILE not found" + exit 1 + fi + ;; + -p*) PATCHFILE=`expr "$1" : '-p\(.*\)'` + if [ ! -f "$PATCHFILE" ]; then + echo "$PATCHFILE not found" + exit 1 + fi + ;; + *) echo "Bad option $1" + exit 1 + ;; + esac + shift +done + +if [ "$NOPATCH" -a "$PATCHFILE" ]; then + echo "Cannot handle -n and -p options simultaneously" + exit 1 +fi + +FILE=$1 + +if [ "$FILE" = "" ]; then + echo "Usage: alien [-n] [-i] [-g] [-s] [-p] " + exit 1 +fi + +if [ ! -f $FILE ]; then + echo "File $FILE not found" + exit 1 +fi + +DATE="`822-date`" + +# Cut off the directory name +if echo $FILE|grep -q "/"; then + X=`expr $FILE : '.*/\(.*\)'` +else + X="$FILE" +fi + +if expr $X : '.*\.rpm' >/dev/null; then + RPM=1 + if [ ! -f /usr/bin/rpm ]; then + echo "RPM Package Manager not installed" + exit 1 + fi + X=`expr $X : '\(.*\)\.rpm'` +else + case $X in + *.tgz) X=`expr $X : '\(.*\).tgz'` ;; + *.tar.gz) X=`expr $X : '\(.*\).tar.gz'` ;; + *) echo "Format of filename bad $FILE" ;; + esac +fi + +if [ "$RPM" ]; then + # Use --queryformat to pull out all the values we need. + eval `rpm -qp $FILE --queryformat ' + PACKAGE="%{NAME}" + VERSION="%{VERSION}" + DELTA="%{RELEASE}" + ARCHNUM="%{ARCH}" + CHANGELOG="%{CHANGELOGTEXT}" + SUMMARY="%{SUMMARY}" + DESCRIPTION="%{DESCRIPTION}" + COPYRIGHT="%{COPYRIGHT}" + '` + + if [ "$SUMMARY" = "" -o "$SUMMARY" = "(none)" ] ; then + SUMMARY="Converted RPM package" + fi + + if [ "$COPYRIGHT" = "" -o "$COPYRIGHT" = "(none)" ] ; then + COPYRIGHT="unknown" + fi + + if [ "$CHANGELOG" = "(none)" ] ; then + CHANGELOG="" + fi + + # Fix up the description field to debian standards (indented at + # least one space, no empty lines in it.) + DESCRIPTION=" $SUMMARY" + + # Convert ARCH number into string, if it isn't already a string. + case $ARCHNUM in + 1) ARCHIT=i386 + ;; + 2) ARCHIT=alpha + ;; + 3) ARCHIT=sparc + ;; + 6) ARCHIT=m68k + ;; + i386|alpha|sparc|m68k) + # Seems that some rpms have the actual arch in them. + ARCHIT=$ARCHNUM + ;; + esac + + if [ "$DELTA" = "" -o "$VERSION" = "" -o "$PACKAGE" = "" ]; then + echo "Error querying rpm file." + exit 1 + fi + + if [ "$ARCHIT" = "" ]; then + echo "Unable to determine architecture: arch number is $ARCHNUM." + echo "Please report this as a bug to the maintainer of alien." + exit 1 + fi + + CDIR=rpm +else +# Generic handling for slackware and tar.gz packages + if echo $X | grep -q "-"; then + PACKAGE=`expr $X : '\(.*\)-.*'` + VERSION=`expr $X : '.*-\(.*\)'` + else + PACKAGE=$X + VERSION=1 + fi + + if [ "$VERSION" = "" -o "$PACKAGE" = "" ]; then + echo "Filename must have the form Package-Version.tgz" + exit 1 + fi + + ARCHIT=i386 + DELTA=1 + CDIR=tgz +fi + +if [ "$NOPATCH" = "" ]; then + if [ "$PATCHFILE" = "" ]; then + PATCHFILE=/var/lib/alien/$PACKAGE*.diff.gz + fi + if [ ! -f $PATCHFILE -a "$GENERATE" = "" ]; then + echo "Patchfile $PATCHFILE not found." + echo "You may need to rerun this command with -n added to the command line." + exit 1 + fi + if [ ! -f $PATCHFILE ]; then + PATCHFILE= + fi +fi + +mkdir $PACKAGE-$VERSION +cd $PACKAGE-$VERSION +mkdir debian + +echo "-- Unpacking $FILE" +if [ "$RPM" ]; then + (cd ..;rpm2cpio $FILE) | cpio --extract --make-directories --no-absolute-filenames +# install script could be located here. +else +# Must be a tar file + tar zxpf ../$FILE + # Make install script to postinst + if [ -e install/doinst.sh ]; then + mv install/doinst.sh debian/postinst + if ! rmdir install; then + echo "Other files besides doinst.sh present in install directory" + echo "Install script cannot be used as postinst script!" + mv debian/postinst install/doinst.sh + fi + fi +fi + +if [ "$GENERATE" ]; then + cd .. + cp -a $PACKAGE-$VERSION $PACKAGE-$VERSION.orig + echo "Directories $PACKAGE-$VERSION.orig + $PACKAGE-$VERSION prepared." + cd $PACKAGE-$VERSION +elif [ "$SINGLE" ]; then + echo "Directory $PACKAGE-$VERSION prepared." +fi + +# Now lets patch it! +if [ "$PATCHFILE" ]; then + echo "-- Patching in $PATCHFILE" + # cd .. here in case the patchfile's name was a relative path. + (cd .. && zcat $PATCHFILE) | patch -p1 + X=`find . -name "*.rej"` + if [ "$X" ]; then + echo "Patch failed: giving up" + exit 1 + fi + rm `find . -name "*.orig"` +else + echo "-- Automatic package debianization" + # Generate all the values we need + if [ "$EMAIL" = "" ]; then + EMAIL="$USER@`cat /etc/mailname`" + fi + USERNAME=`awk -F: -vUSER=$USER '$1 == USER { print $5; }' /etc/passwd` + + if [ "$USERNAME" = "" -a -x /usr/bin/ypmatch ]; then + # Give NIS a try + USERNAME=`ypmatch $USER passwd.byname|awk -F: '{ print $5; }'` + fi + + if echo $USERNAME | grep -q "\,"; then + X=`expr index "$USERNAME" ","` + X=`expr $X - 1` + USERNAME=`expr substr "$USERNAME" 1 $X` + fi + + cd debian + X=`(cd $LIB/$CDIR;ls)` + for i in $X; do + sed <$LIB/$CDIR/$i >$i -e "s/#PACKAGE#/$PACKAGE/g" \ + -e "s/#VERSION#/$VERSION/g" \ + -e "s/#DELTA#/$DELTA/g" \ + -e "s/#ARCHIT#/$ARCHIT/g" \ + -e "s/#EMAIL#/$EMAIL/g" \ + -e "s/#USERNAME#/$USERNAME/g" \ + -e "s/#CHANGELOG#/$CHANGELOG/g" \ + -e "s/#SUMMARY#/$SUMMARY/g" \ + -e "s/#DESCRIPTION#/$DESCRIPTION/g" \ + -e "s/#COPYRIGHT#/$COPYRIGHT/g" \ + -e "s/#DATE#/$DATE/g" + done + + if [ "$RPM" ]; then + (cd ../..;rpm -qpi $FILE) >>copyright + fi + + cd .. + # Assume all files in etc are conffiles + if [ -d etc ]; then + find etc -type f -printf "/%p\n" >debian/conffiles + fi +fi + +chmod a+x debian/rules + +if [ "$GENERATE" = "" -a "$NOBUILD" = "" ]; then + echo "-- Building the package $PACKAGE-$VERSION-$DELTA.deb" + debian/rules binary + cd .. + rm -rf $PACKAGE-$VERSION +fi + +if [ "$NOINSTALL" = "" -a "$GENERATE" = "" ]; then + echo "-- Installing generated .deb package" + dpkg -i $PACKAGE*.deb + rm $PACKAGE\_$VERSION-$DELTA*.deb +fi + +echo "-- Successfully finished" +exit 0 + + + diff --git a/alien.spec b/alien.spec new file mode 100644 index 0000000..0bbc38b --- /dev/null +++ b/alien.spec @@ -0,0 +1,26 @@ +Summary: Install Debian and Slackware Packages with dpkg. +Name: alien +Packager: Joey Hess +Version: 4.00 +Release: 1 +Source: ftp://kite.ml.org/pub/code/debian/alien_4.00.tar.gz +Copyright: GPL +Group: Utilities/File +Buildroot: /tmp/alien-4.00.build + +%description +Alien allows you to convert Debian and Slackware Packages into Red Hat +packages, which can be installed with rpm. + +It can also convert Red Hat and Slackware packages into Debian packages. + +This is a tool only suitable for binary packages. + +%prep +%setup + +%install +make DESTDIR=$RPM_BUILD_ROOT install +find $RPM_BUILD_ROOT -type f -printf "/%P\n" > manifest + +%files -f manifest diff --git a/alien.spec.in b/alien.spec.in new file mode 100644 index 0000000..cc26775 --- /dev/null +++ b/alien.spec.in @@ -0,0 +1,26 @@ +Summary: Install Debian and Slackware Packages with dpkg. +Name: alien +Packager: Joey Hess +Version: @version@ +Release: 1 +Source: ftp://kite.ml.org/pub/code/debian/alien_@version@.tar.gz +Copyright: GPL +Group: Utilities/File +Buildroot: /tmp/alien-@version@.build + +%description +Alien allows you to convert Debian and Slackware Packages into Red Hat +packages, which can be installed with rpm. + +It can also convert Red Hat and Slackware packages into Debian packages. + +This is a tool only suitable for binary packages. + +%prep +%setup + +%install +make DESTDIR=$RPM_BUILD_ROOT install +find $RPM_BUILD_ROOT -type f -printf "/%P\n" > manifest + +%files -f manifest diff --git a/debian/README.debian b/debian/README.debian new file mode 100644 index 0000000..c19b5e5 --- /dev/null +++ b/debian/README.debian @@ -0,0 +1,6 @@ +alien for DEBIAN +---------------- + +Please read the manpage for the alien command. + +Christoph Lameter diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..08f2244 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,884 @@ +alien (2.79) unstable; urgency=low + + * New maintainer. + * Updated man page with new author info. + * Changes to debian/rules to make current maintainer more comfortable. + * Improvements to follow when I find the time.. + + -- Joey Hess Mon, 27 Jan 1997 20:54:47 -0500 + +alien (2.78) unstable; urgency=low + + * Corrected Priority + * Cleanup debmake remnants + + -- Christoph Lameter Sat, 25 Jan 1997 10:51:48 -0800 + +alien (2.77) unstable; urgency=low + + * alien source package completely split off from debmake. Looking for a + new maintainer to provide some fresh ideas. + + -- Christoph Lameter Sat, 25 Jan 1997 10:23:21 -0800 + +debmake (2.76) unstable; urgency=low + + * debstd: Multi-binary support: Generate necessary subdirectories on the + fly from files names subpackage.filename (if such files exist) to comply + with Policy. This results in an alternate way of storing files for + sub-package generation. Remember to erase those directories in the + rules file if using this scheme! + + -- Christoph Lameter Sat, 25 Jan 1997 09:04:21 -0800 + +debmake (2.75) unstable; urgency=low + + * debchange: Fix bug introduced in 2.74 + * debstd: support for configure script + * adpkg: support for package configuration before installation + + -- Christoph Lameter Fri, 24 Jan 1997 13:17:49 -0800 + +debmake (2.74) unstable; urgency=low + + * debstd: Output warning if scripts do not use /bin/sh as its interpreter + #6062 + * bug: default to ae editor if joe is not present #5675, #6811 + * debchange: default to ae editor if joe is not present #6794 + + -- Christoph Lameter Thu, 23 Jan 1997 21:47:39 -0800 + +debmake (2.73) unstable; urgency=low + + * made dependant on perl + * Description in control file updated + * debchange: automatically rename native debian package directories on generating + the next version. Fixes some problems with warnings at package + generation time. + * alien: some minor fixes update of manpage. + * Document nodeps option of debstd + * Fixes to the way uupdate recognizes new version numbers (again!) + + -- Christoph Lameter Mon, 20 Jan 1997 19:51:11 -0800 + +debmake (2.72) unstable; urgency=low + + * Fix Bug #6690: release not able to handle multiple bug numbers. + * Fix Bug #6669 + * debstd: check for debian/changelog and abort if not found + + -- Christoph Lameter Sat, 18 Jan 1997 09:24:43 -0800 + +debmake (2.71) unstable; urgency=low + + * adpkg: support for virtual package recognition + * lots of fixes to adpkg. Add functionality to figure out which installed + packages need to be updated. Rudimentary replacement for dselect. + * Fix to init.d template + + -- Christoph Lameter Fri, 17 Jan 1997 20:24:11 -0800 + +debmake (2.70) unstable; urgency=low + + * new tool: adpkg a front end to dpkg which will install all depending + packages, locate packages on its own and install packages one by one in order + to insure minimum downtime for daemons on mission critical servers. + * bug: give a correct errormessage if packagename not specified instead of + failing with a shell error. + + -- Christoph Lameter Fri, 17 Jan 1997 15:40:01 -0800 + +debmake (2.62) unstable; urgency=low + + * Sue Campbell contributes a HOWTO.first_time + * new tools: todo and done by Hakan Ardo + * Automatically install a debian/TODO if present + + -- Christoph Lameter Thu, 16 Jan 1997 22:07:10 -0800 + +debmake (2.61) unstable; urgency=low + + * debstd: fix recognition of .so in manpages + + -- Christoph Lameter Thu, 16 Jan 1997 09:18:26 -0800 + +debmake (2.60) unstable; urgency=low + + * new tools: deb2asc, asc2deb and asc2debinst allowing the conversion + and easy modification of already packed up debian packages. Also + allows writing of packages with an editor. asc2debinst does not yet + work as intended. + * release: change Bug number matching to match #[0-9]{4,5}. + + -- Christoph Lameter Tue, 14 Jan 1997 10:02:07 -0800 + +debmake (2.59) unstable; urgency=low + + * release: update manpage. + * release: bug clearing did not work right... sigh.... + + -- Christoph Lameter Mon, 13 Jan 1997 22:28:59 -0800 + +debmake (2.58) unstable; urgency=low + + * release: Check for Bug# in changes files and ask maintainer if these + bugs ought to be cleared. (Test Bug#4711) + * debstd: 2.57 broke library scan functionality + * uupdate: allow + characters in upstream packagename + + -- Christoph Lameter Mon, 13 Jan 1997 21:08:03 -0800 + +debmake (2.57) unstable; urgency=low + + * bug: Bug#5619 treat conffiles without \n at the end correctly + * debstd: install maintainer generated shlibs file. Skip Library scan for + that case + * better directory name matching when looking for undocumented binaries. + * link to undocumented.7.gz instead of undoc.7 + + -- Christoph Lameter Sat, 11 Jan 1997 21:15:27 -0800 + +debmake (2.56) unstable; urgency=low + + * bug: -z option added to forbid removal of comments and empty lines from + configfiles. + * debstd: look for manpages also in /usr/X11R6/man + + -- Christoph Lameter Thu, 9 Jan 1997 07:35:10 -0800 + +debmake (2.55) unstable; urgency=low + + * deb-make: Support specialities for native packages (such as copyright + file for example) + * debstd: reverse function of the -u option. Default is now no symlinks + for undocumented binaries. + * build: allow passing of options to dpkg-buildpackage + * patch of Roman Hodek for some problems in debstd + + -- Christoph Lameter Tue, 7 Jan 1997 10:49:19 -0800 + +debmake (2.54) unstable; urgency=low + + * debstd: Wrong warnings about a package not having executables fixed + * two packages bug and alien split out from debmake. Dependencies + reworked. + * debstd: recognize games as a valid location for binaries and + put links into section 6 for those binaries. + * deb-make: fix to package name parsing + * bug: Christian Schwarz: Ability to redirect bug report to stdout. + * deb-make: Fix to document recognition by Christian Schwarz + * uupdate: Diagnostics for existing original archives + + -- Christoph Lameter Sun, 5 Jan 1997 21:17:23 -0800 + +debmake (2.53) unstable; urgency=low + + * made a template from Lars example manpage for debian. Thanks! + template will be customized with packagename, emailname, maintainername + * uupdate: Fix version number recognition for tar files. + + -- Christoph Lameter Sun, 5 Jan 1997 18:46:16 -0800 + +debmake (2.52) unstable; urgency=low + + * uupdate: Fixes to the way the upstream version is recognized + * uupdate: Figure out the new upstream version from patchname. + * uupdate: Fixes to allow using a patch rather than a new archive. + * uupdate: clean archive before patching it. + + -- Christoph Lameter Thu, 2 Jan 1997 20:14:41 -0800 + +debmake (2.51) unstable; urgency=low + + * debstd: sometimes the associated manpage to a binary was not found + and an undocumented.7 link installed despite of the presence of a manpage! + * debstd: if first parameter was not the package name that documentation + file was not installed. + * deb-make: Better matching for documentation + + -- Christoph Lameter Wed, 1 Jan 1997 17:40:54 -0800 + +debmake (2.50) unstable; urgency=low + + * deb-make: probe for common forms of documentation in a sourcecode + package and generate a rules file to install those by default. + * debian/rules templates updated to reflect changes. + * debstd: generate /usr/doc/package/changelog for native packages + * debstd: does not need packagename anymore on invocation + * debstd: Generate manpage symlinks for executables without corresponding + manpages. + * debchange: Fix bug #6380. + * changelog fixed to spell Santiago's name correctly etc. + + -- Christoph Lameter Wed, 1 Jan 1997 13:12:11 -0800 + +debmake (2.41) unstable; urgency=low + + * Check for /etc/suid.conf instead for /usr/bin/suidregister for suid + binaries to avoid pre-dependency problems for suidmanager. + * strip -g only for libraries instead of a full strip (Santiago Vila) + * Changes to the rules template according to suggestion by Santiago Vila. + + -- Christoph Lameter Sun, 29 Dec 1996 12:43:11 -0800 + +debmake (2.40) unstable; urgency=low + + * uscan watch template provided. + * new tool uscan: Scan upstream ftp sites for new releases and then + dowload upstream releases, perform upstream update (using "uupdate"), + rebuild package(s) (using "build") and upload new package (using + "release") (Actions customizable, full automatic operation discouraged). + Experimental status right now. + + -- Christoph Lameter Wed, 25 Dec 1996 12:06:32 -0800 + +debmake (2.30) unstable; urgency=low + + * debchange: -v option to set the version number provided + * new tool uupdate: automatize upstream updates for sourcecode packages + + -- Christoph Lameter Tue, 24 Dec 1996 22:33:02 -0800 + +debmake (2.21) unstable; urgency=low + + * debstd: shlib generation: .shlibs file does not belong into -dev + package as previously claimed. .shlibs file put into library package + restoring what previous versions of debmake did. The versions 2.17-2.20 + produced unusable .shlibs files! + + -- Christoph Lameter Mon, 23 Dec 1996 19:59:16 -0800 + +debmake (2.20) unstable; urgency=low + + * debstd: examples / docs documents were moved with directory. + * Bug in inetd.conf postrm handling + + -- Christoph Lameter Sun, 22 Dec 1996 16:26:32 -0800 + +debmake (2.19) unstable; urgency=low + + * example .forward file for the exim mailer provided + * debstd: diversions set the wrong package name + * build: use gid=0 when building packages to avoid generating wrong + ownerships. + + -- Christoph Lameter Thu, 19 Dec 1996 10:17:33 -0800 + +debmake (2.18) unstable; urgency=low + + * check dependencies of provided sharable libraries in addition to + executables when calling dpkg-shlibdeps for a package. + * info.ex: wrong spelling + * debstd: manpage updated. + * debstd: generate a changelog entry if debian/RELEASED is present. + * shlibs management cleaned up. + + -- Christoph Lameter Mon, 16 Dec 1996 22:21:56 -0800 + +debmake (2.17) unstable; urgency=low + + * deb-make: add capability to copy sample libraries. Samples for + multi-binary and library revised. + * If first documentation file for debstd has "change" in its name install + that file as changelog.upstream (according to standard). + Please be sure in the future to list the upstream changelog first after + the package name + * Changed Library Templates according to Guy's advice + + -- Christoph Lameter Mon, 16 Dec 1996 21:14:56 -0800 + +debmake (2.16) unstable; urgency=low + + * Library link for library.so was not generated. + * Message regarding tar of debstd cleaned up. + + -- Christoph Lameter Mon, 16 Dec 1996 10:02:40 -0800 + +debmake (2.15) unstable; urgency=low + + * added instruction regarding tar problem + * .shlibs file not correctly generated (Major Number screwed up) + + -- Christoph Lameter Mon, 16 Dec 1996 08:01:43 -0800 + +debmake (2.14) unstable; urgency=low + + * deb-make asks for the type of package (single,multi,library) to generate + and does not clutter the debian directory so much with .ex files. + * Templates updated to use easier method for generating directories + through a "dirs" file in the debian directory listing all necessary + directories. + * Incorrect menu template + * Update Standards number to current + + -- Christoph Lameter Sat, 14 Dec 1996 18:08:03 -0800 + +debmake (2.13) unstable; urgency=low + + * debstd: bug in processing of menus + * deb-make gave an errormessage about not finding a file. Did not + affect functionality. + + -- Christoph Lameter Sat, 14 Dec 1996 10:04:50 -0800 + +debmake (2.12) unstable; urgency=low + + * Prototype for library rules simplified + * debstd: strip static libraries + * debstd: automatically generate symlinks for sharable elf libraries + + -- Christoph Lameter Sat, 14 Dec 1996 04:25:14 -0800 + +debmake (2.11) unstable; urgency=low + + * Automatically strip libraries found. + * Prototypes provided for ELF Library development + + -- Christoph Lameter Fri, 13 Dec 1996 21:08:32 -0800 + +debmake (2.10) unstable; urgency=low + + * menu package support: deb-make installs an template for the menu + package. + * debstd: Clean up package by removing empty directories if a file "clean" exists. + * Joey: Support for Joost's menu package. + + -- Christoph Lameter Fri, 13 Dec 1996 18:24:35 -0800 + +debmake (2.09) unstable; urgency=low + + * debstd: bug in info file processing + * debstd multi-binary support: package tmp directory was not created. + The control file "files" used to fail. + * debstd manpage revised . + + -- Christoph Lameter Fri, 13 Dec 1996 10:42:40 -0800 + +debmake (2.08) unstable; urgency=low + + * template inetd.conf.ex updated with example how to place an entry in a + section + * release: post the processed control file from debian/tmp/DEBIAN instead + of the one from the debian directory when announcing packages. + * debstd: warn if empty /usr/info + + -- Christoph Lameter Thu, 12 Dec 1996 05:24:39 -0800 + +debmake (2.07) unstable; urgency=low + + * debstd: manpage updated + * inetd.conf processor added (allows specification of sections and multiple entries) + + -- Christoph Lameter Wed, 11 Dec 1996 21:01:19 -0800 + +debmake (2.06) unstable; urgency=low + + * debstd: support for adding sections to /etc/aliases + * bug: manpage + errormessage updated for filing bug reports as root + + -- Christoph Lameter Wed, 11 Dec 1996 08:43:48 -0800 + +debmake (2.05) unstable; urgency=low + + * debstd: Dont install copyright file if already installed by maintainer + * debstd: Do not compress .gif and .html. + New switch -c to switch off all compression for docs since there might + be other html stuff not to be compressed. + * release: Check environment variable DEBIAN_RELEASE_DESTINATION and + uploads to that site. Default to master. + * release: Consults a database of possible upload sites in + /usr/lib/deb-make/upload.sites. Need to have the data for chiark! + + -- Christoph Lameter Sun, 8 Dec 1996 20:18:29 -0800 + +debmake (2.04) unstable; urgency=low + + * bug: set -v was accidentally left in the script + + -- Christoph Lameter Sun, 8 Dec 1996 19:16:01 -0800 + +debmake (2.03) unstable; urgency=low + + * added the possibility to upload to other hosts using scp + (ftp.fuller.edu and lalug.org available right now. Could someone sent me + the data on chiark?) + * depend on package file + * debstd: info files not in main distribution directory were not installed. + + -- Christoph Lameter Wed, 4 Dec 1996 20:56:35 -0800 + +debmake (2.02) unstable; urgency=low + + * bug: some more changes to the way subject lines are handled + * debstd: some bugfixes relating to suid processing pointed out by Johnie Ingram + * bug: Follow symlinks when trying to figure out the type of configfile + * bug: Subject line can be edited when in the editor. + * bug: debug switch (-d) added to send mail to postmaster@localhost + * bug: manpage updated + * fix some issues with multi-binary packages in debstd + * template rules.multi updated + + -- Christoph Lameter Sat, 23 Nov 1996 07:01:17 -0800 + +debmake (2.01) experimental; urgency=low + + * debstd manpage updated regarding suidmanager processing. + + -- Christoph Lameter Fri, 22 Nov 1996 16:22:19 -0800 + +debmake (2.00) experimental; urgency=low + + * Support for suidmanager (Generated scripts will check for presence of + suidmanager and not use it if no suidmanager exists). + A package can simply be rebuild and will use suidmanager if any + setsid or setgid binaries are present. (ppp 2.3 is an example) + Not documented yet. + * debmake uses suidmanager to register build and debpkg with REGULAR + permissions so that they can be changed in /etc/suid.conf + * deb-make: Message on completion of debmake did not display intended text + * bug: allow maintonly (-m) or quiet (-q) bug reports + * bug: wrong matches on dependency parenthesis + * bug: check if called with UID=0 and abort + * control files reworked + * Manual Pages updated + * Multi-Binary capabilities now available from debstd. debmstd ceases to + exist. + + -- Christoph Lameter Tue, 19 Nov 1996 11:28:38 -0800 + +debmake (1.99) unstable; urgency=low + + * procmail examples for filtering debian mailing lists included + * README.debian revised: Made it clearer that debmake does not + install any setuid programs. + * build: include path for X11 binaries + * bug: check if options given AFTER the packagename and give an + errormessage if this is the case + + -- Christoph Lameter Fri, 15 Nov 1996 12:18:45 -0800 + +debmake (1.98) unstable; urgency=low + + * bug: artistics to figure out versions of virtual packages (Thanks to the + support by Joey + Guy). Not sure if this will work for all packages though. + * debmstd: add analysis of executable formats and warn if unknown. + * bug: add options to suppress config files and supply a subject + * bug: dont list configfiles that are binaries + + -- Christoph Lameter Thu, 14 Nov 1996 18:02:16 -0800 + +debmake (1.97) unstable; urgency=low + + * bug: speedup (circumvents dpkg now) + * bug: allows filing a bug report against anything + + -- Christoph Lameter Tue, 12 Nov 1996 20:51:37 -0800 + +debmake (1.96) unstable; urgency=low + + * release: use dupload if installed + (One always needs to specify the host to upload to though.) + * bug: removed some lines from the bugreports that were not really + essential. + + -- Christoph Lameter Tue, 12 Nov 1996 13:22:14 -0800 + +debmake (1.95) unstable; urgency=low + + * release: Changes file was not uploaded (why is it not listed in the + changesfile itself if it is to be uploaded ????) + + -- Christoph Lameter Mon, 11 Nov 1996 21:30:20 -0800 + +debmake (1.94) unstable; urgency=low + + * alien: bug when building rpm packages + * deb-make does no longer accept strange characters in directorynames. + + -- Christoph Lameter Fri, 8 Nov 1996 19:41:30 -0800 + +debmake (1.93) unstable; urgency=low + + * bug: Depends: field was required in the description of the package + processed. + * debstd: bug in info processing. copied from debian instead of the main + sourcedirectory. + + -- Christoph Lameter Fri, 8 Nov 1996 15:44:33 -0800 + +debmake (1.92) unstable; urgency=low + + * build: manpage updated + * build: add support for targets binary-indep and binary-arch + + -- Christoph Lameter Fri, 8 Nov 1996 06:12:18 -0800 + +debmake (1.91) unstable; urgency=low + + * suidwrappers will be disabled on installation/upgrade. Instructions are + provided on how to use these wrappers from sudo, super or directly in + README.debian. + + -- Christoph Lameter Thu, 7 Nov 1996 13:39:50 -0800 + +debmake (1.90) unstable; urgency=low + + * depend on dpkg and dpkg-dev + * debmstd: New command for experimental support of multi-binary packages + (debmstd will replace debstd when tested and found stable) + * debmake: Generates templates for multi-binary packages + * release: improved handling of files for multi-binary support + * Example setup for multi-binary support included (mgetty) + + -- Christoph Lameter Wed, 6 Nov 1996 10:06:41 -0800 + +debmake (1.23) unstable; urgency=low + + * release: add an option "announce" to manually specify that + debian/control should be posted. + * bug in release: Announcement generated for releases + + -- Christoph Lameter Tue, 5 Nov 1996 10:54:34 -0800 + +debmake (1.22) unstable; urgency=low + + * New directive in init scripts: NO_RESTART_ON_UPGRADE + * Location of check for conffiles moved in debstd + + -- Christoph Lameter Tue, 5 Nov 1996 06:26:27 -0800 + +debmake (1.21) unstable; urgency=low + + * control prototype: standards made current + * rules prototype chmod changed (Brian C. White) + + -- Christoph Lameter Mon, 4 Nov 1996 09:13:54 -0800 + +debmake (1.20) unstable; urgency=low + + * debclean: can be called as a regular user + * build: Added clean option + + -- Christoph Lameter Mon, 4 Nov 1996 05:42:37 -0800 + +debmake (1.19) unstable; urgency=low + + * build: Fixed behavior in case invoked in the wrong directory + * debstd: Build /usr/doc/package/buildinfo.Debian with information + regarding the system it was build on. (Chris Fearnley) + * rules prototype revised + * Removed junk from changelog prototype + + -- Christoph Lameter Sun, 3 Nov 1996 16:54:09 -0800 + +debmake (1.18) unstable; urgency=low + + * debc does both dpkg -I and dpkg -c + + -- Christoph Lameter Sun, 3 Nov 1996 16:04:35 -0800 + +debmake (1.17) unstable; urgency=low + + * deb-make + alien: Username lookup now possible via NIS + + -- Christoph Lameter Sat, 2 Nov 1996 17:29:14 -0800 + +debmake (1.16) unstable; urgency=low + + * Some fixes to README.debian + * Fixed bugs in the way debian/changelog is located in debi,debc,release + + -- Christoph Lameter Sat, 2 Nov 1996 09:52:59 -0800 + +debmake (1.15) unstable; urgency=low + + * New: "debi" installs generated .deb file (convenience script) + * New: "debc" views contents of generated .deb file (convenience script) + * Typical developmental cycle documented in README.debian + * release: print scp error message and the e-mail address the announcement goes to + + -- Christoph Lameter Sat, 2 Nov 1996 08:48:25 -0800 + +debmake (1.14) unstable; urgency=low + + * New: "build" a suid wrapper for dpkg-buildpackage and "debian/rules binary" + * New: "debpkg" a suid wrapper for dpkg. + * debmake includes C code now and thus is architecture dependent + * Suid wrappers accessible for users of group "root" only. + * Complete development cycle possible from a regular account without + having to "su". + * Added check for the presence of ssh to "release" before trying + do to an upload to master. + * bug: filters comments and empty lines out of conffiles so that the + included conffiles are not that long anymore. + + -- Christoph Lameter Sat, 2 Nov 1996 06:27:15 -0800 + +debmake (1.13) unstable; urgency=low + + * Bug in release: Announce to wrong mailing list+ Bruces suggestions + + -- Christoph Lameter Fri, 1 Nov 1996 15:54:08 -0800 + +debmake (1.12) unstable; urgency=low + + * debchange: RELEASED file not erased + * More errorchecking in release + * Removed creation of /etc from prototype + * Updated docs + + -- Christoph Lameter Fri, 1 Nov 1996 11:21:24 -0800 + +debmake (1.11) unstable; urgency=low + + * release script was not included + + -- Christoph Lameter Fri, 1 Nov 1996 11:15:23 -0800 + +debmake (1.10) unstable; urgency=low + + * Added a new tool "release" which will upload to master announce changes + and record the fact that a release has been done in debian/RELEASED. + * debchange: Generate a new release without specifically told so if + the software has been released and a debian/RELEASED file is present. + * debmake now takes the "Did I already upload this or not?" worry from you. + and manages releases on its own. + + -- Christoph Lameter Fri, 1 Nov 1996 11:03:53 -0800 + +debmake (1.09) unstable; urgency=low + + * bug tool reworked: It now automatically includes Debian Version, Kernel + version, a list of the version numbers of packages this package depends + on and includes all modified conffiles. + + -- Christoph Lameter Fri, 1 Nov 1996 09:58:11 -0800 + +debmake (1.08) unstable; urgency=low + + * Bug in etc.postrm + * Made sure that documentation is installed mode 644 owned by root. + * Updated Docs + + -- Christoph Lameter Thu, 31 Oct 1996 15:06:22 -0800 + +debmake (1.07) unstable; urgency=low + + * check for EDITOR environment variable + * debstd warn on /etc files not in conffiles and conffiles not + provided in /etc and on having files in /etc but no conffile (Bruce) + * exceptions for library dependencies possible + + -- Christoph Lameter Thu, 31 Oct 1996 10:32:26 -0800 + +debmake (1.06) unstable; urgency=low + + * structure of alien .orig file changes to be more or less conformant with + the way source .orig files are done. Diffs better readable now and the + customization includes the generators e-mail and name into the control + files. + + -- Christoph Lameter Thu, 31 Oct 1996 06:08:50 -0800 + +debmake (1.05) unstable; urgency=low + + * rpminstall, tgzinstall replaced by alien command + * alien structure allows moving around of binaries and patching them + in debian/rules. + * alien command needs testing and some real life experiences + + -- Christoph Lameter Wed, 30 Oct 1996 21:43:35 -0800 + +debmake (1.04) unstable; urgency=low + + * bug in generation of modifications for files in /etc + + -- Christoph Lameter Wed, 30 Oct 1996 17:46:35 -0800 + +debmake (1.03) unstable; urgency=low + + * debchange: no output in batch mode anymore + * rpminstall, tgzinstall: -d option switches of calling debian/rules binary + * debstd bug when giving the -m option. + * On Bruces advice: advanced stripping of all binaries + + -- Christoph Lameter Wed, 30 Oct 1996 08:02:30 -0800 + +debmake (1.02) unstable; urgency=low + + * Revised description in control + * If the package provides libraries those are detected, appropriate + information is generated for dpkg in "DEBIAN/shlibs" and a call to ldconfig + is placed into the automatically generated postinst script. + + -- Christoph Lameter Mon, 28 Oct 1996 09:23:05 -0800 + +debmake (1.01) unstable; urgency=low + + * new command tgzinstall: Converts / installs a Slackware .tgz package + with dpkg using the same technique as rpminstall. + * rpminstall: diverse fixes + * Bug: debmake installed X11 manpages twice and did not compress them + * rpminstall generated .deb not erased + + -- Christoph Lameter Sun, 27 Oct 1996 14:20:25 -0800 + +debmake (1.00) unstable; urgency=low + + * rpminstall : convert a package to debian (semi)sourcepackage, build it + and install with dpkg. Does not do installation scripts right now. + I was able to install gated like a debian package. + * rpminstall enables a direct installation of Red Hat packages into the + debian package maintenance system! All dpkg commands will work on it! + * rpminstall uses debstd and thus compresses manpages + documentation and + computes dependencies according to the libraries referenced by the + ELF binaries in the Red Hat package. + + -- Christoph Lameter Sun, 27 Oct 1996 12:17:51 -0800 + +debmake (0.99) unstable; urgency=low + + * debstd gives message for unstripped binaries and strips them + + -- Christoph Lameter Sat, 26 Oct 1996 19:20:58 -0700 + +debmake (0.98) unstable; urgency=low + + * New command bug to assist in sending bug reports + * debchange: added batch mode f.e. : dch -n Bug fixed + reults in generating a new release number and putting "bug fixed" in + the correct place in changelog + + -- Christoph Lameter Sat, 26 Oct 1996 09:42:00 -0700 + +debmake (0.97) unstable; urgency=low + + * Example file for inetd.conf configuration provided + * Recognize package names with a - + * Manpages reworked. Manpage for debclean added + + -- Christoph Lameter Fri, 25 Oct 1996 09:37:17 -0700 + +debmake (0.96) unstable; urgency=low + + * debstd seaches for all executable binaries in package and runs + dpkg-shlibdeps on all ELF binaries. No need to separately run + dpkg-shlibdeps anymore. + + -- Christoph Lameter Thu, 24 Oct 1996 19:45:44 -0700 + +debmake (0.95) unstable; urgency=low + + * bugs in deb-make fixed. Checks for existing .orig archive + + -- Christoph Lameter Thu, 24 Oct 1996 14:33:07 -0700 + +debmake (0.94) unstable; urgency=low + + * Set executable bit on debian/rules + + -- Christoph Lameter Wed, 23 Oct 1996 17:57:51 -0700 + +debmake (0.93) unstable; urgency=low + + * bug in deb-make. Failed with cannot find X + + -- Christoph Lameter Wed, 23 Oct 1996 10:39:11 -0700 + +debmake (0.92) unstable; urgency=low + + * backup files removed + * use /etc/mailname to figure out e-mail address + + -- Christoph Lameter Tue, 22 Oct 1996 20:06:46 -0700 + +debmake (0.91) unstable; urgency=low + + * inetd.conf script generation added + * Got rid of all temp files to speed up debstd + * Updated debstd manpage + * Fixed diversions so that they really work. + * Added -m option to switch of the automatic installation of manpages + + -- Christoph Lameter Tue, 22 Oct 1996 16:29:17 -0700 + +debmake (0.9) unstable; urgency=low + + * Generate scripts for diversions (not sure if the code is up to standard) + * Cleanup debstd + * 822-date instead of date used to generate the date info. + * Ability to generate scripts to add to config files in /etc included + * example files and documentation files can be listed in file in debian + + -- Christoph Lameter Tue, 22 Oct 1996 00:41:08 -0800 + +debmake (0.8) unstable; urgency=low + + * Generates maintenance scripts for info files, init.d scripts, purging of + files. + + -- Christoph Lameter Mon, 21 Oct 1996 09:20:23 -0800 + +debmake (0.7) unstable; urgency=low + + * Updated documentation + * Progress indicator + * Some errormessages from gzip avoided + * converts manpages just having .so in it to symlinks + * Gzipping separated for manpages (all), info (all) and docs (>4K) + so we can easily adapt in case of future changes of policies. + + -- Christoph Lameter Sun, 20 Oct 1996 14:51:06 -0800 + +debmake (0.6) unstable; urgency=low + + * debmake did not install scripts in debian directory! + + -- Christoph Lameter Thu, 17 Oct 1996 06:47:16 -0800 + +debmake (0.5) unstable; urgency=low + + * Manpages were installed as executables + * Display of redirected links was not correct + + -- Christoph Lameter Wed, 16 Oct 1996 22:12:56 -0800 + +debmake (0.4) unstable; urgency=low + + * Added automatic compression of documentation in /usr/man and /usr/doc + if files are >1K. + * Checks for dangling symlinks and redirects symlinks to filenames that + were changed due to compression. + * Added rc.boot handling + * Permissions for documentation were set to executable when debstd was + used. + + -- Christoph Lameter Wed, 16 Oct 1996 08:44:26 -0800 + +debmake (0.3) unstable; urgency=low + + * Added a perl script debchanges which does maintenance of + debian/changelog + * Added manpage for debchanges and an alias "dch" since it is frequently + used. + + -- Christoph Lameter Fri, 11 Oct 1996 14:00:15 -0800 + +debmake (0.2) unstable; urgency=low + + * Added a native mode to have a package that does not need an .orig directory + * Put debstd into /usr/bin so that it does not have to be included in the + source archives. + * Added manpages for debstd and deb-make + + -- Christoph Lameter Thu, 10 Oct 1996 13:21:48 -0800 + +debmake (0.1) experimental; urgency=low + + * Initial Release. + + -- Christoph Lameter Thu, 10 Oct 1996 13:21:48 -0800 + +Local variables: +mode: debian-changelog +End: diff --git a/debian/config b/debian/config new file mode 100644 index 0000000..62ba8a8 --- /dev/null +++ b/debian/config @@ -0,0 +1,61 @@ +# Edit this file to configure debian/rules to build a package. +# No modification of debian/rules should be neccessary. (Famous last words!) +# +# File by Joey Hess + +# What is the name of this package? +package=alien + +# Files that go in directories under /doc. +docs= + +# What file must exist in the current directory if the package is +# properly unpacked here? +test_file=$(package) + +# Does this package build from an Imakefile? +# If so, uncomment the line below. +#use_imakefile=y + +# Does this package build from a Configure script? +# If so, uncomment the line below and enter the command to run to run the +# Configure script (ie: "./Configure") +#use_configure=./Configure + +# What commands to run to build the package? +define build_command +endef + +# What commands to run to clean up after a build? +define clean_command +endef + +# List here any files that must be removed during "debian/rules clean" +# that clean_command doesn't take care of. +clean_files= + +# List here any files that should be preserved during a build, and restored +# to their original state during a clean. For example, if the package comes +# with both an Imakefile and a Makefile, and xmkmf is run, list the original +# Makefile here so it will be backed up before it is overwritten my xmkmf. +preserve_files= + +# What command to run to install the package into debian/tmp? +# You might want to edit the package's Makefile and add $(PREFIX) +# to all the paths it installs files to. or, you can just write +# your own install commands here instead. +# +# Note that debian/* and the files in /usr/doc will be installed +# properly for you, you don't need to do that here. +# +define install_command + $(MAKE) DESTDIR=debian/tmp install +endef + +# After being installed in debian/tmp, everything is chowned to root.root, +# and chmod g-ws is run on everything. Enter below any chmod commands you +# need to run to set files to the proper permissions. This is where you +# can make programs be suid, etc. +# (Note that these commands will be run as root.) +define ch_commands +endef diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..78541d4 --- /dev/null +++ b/debian/control @@ -0,0 +1,14 @@ +Source: alien +Section: admin +Priority: extra +Maintainer: Christoph Lameter +Standards-Version: 2.1.2.2 + +Package: alien +Architecture: all +Section: admin +Depends: debmake +Recommends: rpm +Description: Install RedHat and Slackware Packages with dpkg. + Allows the integration of packages from other sources (Red Hat, Slackware etc) + called "Aliens". This is a tool only suitable for binary packages. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..a865392 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,6 @@ + +This is a package written by Christoph Lameter . +It is now being maintained by Joey Hess . + +Copyright: Most recent version of the GPL. + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..11d77fd --- /dev/null +++ b/debian/rules @@ -0,0 +1,126 @@ +#!/usr/bin/make -f +############################################################################## +# Generic debian/rules file. Based on: +# +#> Sample debian.rules file - for GNU Hello (1.3). +#> Copyright 1994,1995 by Ian Jackson. +#> I hereby give you perpetual unlimited permission to copy, +#> modify and relicense this file, provided that you do not remove +#> my name from the file itself. (I assert my moral right of +#> paternity under the Copyright, Designs and Patents Act 1988.) +# +# Heavily modified by Joey Hess +# +############################################################################## +# +# NOTE: You shouldn't have to edit this file. Edit debian/config instead. +# If you must edit this file to get your package to build properly, then +# I have failed. Let me know; mail me. +# +# (Currently not handled: multiple binary packages from 1 source package, +# and binary-indep rule.) +# +# NOTE: This file is designed so it doesn't need to be run as root. For +# actions that require that the user be root, the root password will be +# prompted for, if you're not already root. +# +############################################################################## +# +# Changelog: +# * Use build-stamp instead of build. +# * New email address. +# * Added changelog. +# +############################################################################## + +# Include config file. +include debian/config + +# Generate a makefile (via configure scriopt or xmkmf). +makefile-stamp: + ifeq ($(strip $(use_imakefile)),y) + xmkmf -a + endif + $(use_configure) + touch makefile-stamp + +# Preserve some files that may get deleted/overwritten/modified otherwise. +preserve-stamp: + ifneq ($(strip $(preserve_files)),) + $(foreach file,$(preserve_files),-cp $(file) $(file).preserved) + endif + touch preserve-stamp + +build-stamp: preserve-stamp makefile-stamp + $(checkdir) + $(build_command) + touch build-stamp + +build: build-stamp + +clean: preserve-stamp makefile-stamp + $(checkdir) + # Do actual cleaning up here. + -rm -f build-stamp + $(clean_command) + -rm -rf *~ debian/*~ debian/files* $(clean_files) + $(clean_tmp) + # Remove Makefile that xmkmf creates. + ifeq ($(strip $(use_imakefile)),y) + -rm -f Makefile + endif + # If we preserved some files, we need to restore them now. + ifneq ($(strip $(preserve_files)),) + $(foreach file,$(preserve_files),-mv -f $(file).preserved $(file)) + endif + -rm -f preserve-stamp makefile-stamp + +# Build architecture-independent files here. +# (not yet set up to be used) +binary-indep: build + $(checkdir) + +# Build architecture-dependent files here. +binary-arch: build + $(checkdir) + $(clean_tmp) + $(install_command) + # Debstd handles lots of nasty details. This requires that the debmake + # package is installed. + debstd $(package) $(docs) + + # Generate control file. + dpkg-gencontrol + # Set permissions. + @[ "`whoami`" != root ] && \ + echo -e "\n ** Enter root password to set file permissions."; \ + sudo debian/rules setperms + # Actually build the .deb file. + dpkg --build debian/tmp .. + +# This must be run suid root, it sets the file permissions in debian/tmp +setperms: + chown -R root.root debian/tmp + chmod -R g-ws debian/tmp + $(ch_commands) + +define checkdir + @test -f $(test_file) -a -f debian/rules || (echo -e "\n\ + ** \"$(test_file)\" or \"debian/rules\" does not exist.\n\ + ** Either \"$(package)\" is not unpacked in this directory, or\n\ + ** an incorrect test_file is specified in debian/config.\n" && false) +endef + +# This rm's the debian/tmp directory. +define clean_tmp + -rm -rf debian/tmp >/dev/null 2>&1 + @if [ -d debian/tmp ]; then \ + if [ "`whoami`" != root ]; then \ + echo -e "\n ** Enter root password to remove debian/tmp."; \ + fi; \ + sudo rm -rf debian/tmp; \ + fi +endef + +binary: binary-indep binary-arch +.PHONY: clean setperms binary diff --git a/foo b/foo new file mode 100644 index 0000000..18fdc4d --- /dev/null +++ b/foo @@ -0,0 +1,378 @@ +execve("/sbin/taper", ["taper"], [/* 34 vars */]) = 0 +mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000 +mprotect(0x40000000, 20301, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 +mprotect(0x8048000, 154781, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 +stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=7705, ...}) = 0 +open("/etc/ld.so.cache", O_RDONLY) = 6 +mmap(0, 7705, PROT_READ, MAP_SHARED, 6, 0) = 0x40008000 +close(6) = 0 +stat("/etc/ld.so.preload", 0xbffff948) = -1 ENOENT (No such file or directory) +open("/usr/lib/libform.so.3.0", O_RDONLY) = 6 +read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096 +mmap(0, 40960, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000a000 +mmap(0x4000a000, 35349, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0x4000a000 +mmap(0x40013000, 3928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x8000) = 0x40013000 +close(6) = 0 +mprotect(0x4000a000, 35349, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 +open("/lib/libncurses.so.3.0", O_RDONLY) = 6 +read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096 +mmap(0, 249856, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000 +mmap(0x40014000, 198134, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0x40014000 +mmap(0x40045000, 30592, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x30000) = 0x40045000 +mmap(0x4004d000, 13444, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4004d000 +close(6) = 0 +mprotect(0x40014000, 198134, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 +open("/lib/libc.so.5", O_RDONLY) = 6 +read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096 +mmap(0, 761856, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40051000 +mmap(0x40051000, 528723, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0x40051000 +mmap(0x400d3000, 19388, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x81000) = 0x400d3000 +mmap(0x400d8000, 205344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400d8000 +close(6) = 0 +mprotect(0x40051000, 528723, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 +munmap(0x40008000, 7705) = 0 +mprotect(0x8048000, 154781, PROT_READ|PROT_EXEC) = 0 +mprotect(0x4000a000, 35349, PROT_READ|PROT_EXEC) = 0 +mprotect(0x40014000, 198134, PROT_READ|PROT_EXEC) = 0 +mprotect(0x40051000, 528723, PROT_READ|PROT_EXEC) = 0 +mprotect(0x40000000, 20301, PROT_READ|PROT_EXEC) = 0 +personality(PER_LINUX) = 0 +geteuid() = 0 +getuid() = 0 +getgid() = 0 +getegid() = 0 +brk(0x80c1cb0) = 0x80c1cb0 +brk(0x80c2000) = 0x80c2000 +open("/root/taper_prefs", O_RDONLY) = 6 +close(6) = 0 +open("/root/taper_prefs", O_RDONLY) = 6 +fstat(6, {st_mode=S_IFREG|0664, st_size=1248, ...}) = 0 +mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40008000 +read(6, "append = yes\ncompress-type = 1\n"..., 4096) = 1248 +read(6, "", 4096) = 0 +close(6) = 0 +munmap(0x40008000, 4096) = 0 +brk(0x80cb000) = 0x80cb000 +shmget(IPC_PRIVATE, 60, IPC_CREAT|IPC_EXCL|0x1b6|0666) = 8448 +shmat(8448, 0, 0) = 0x40008000 +shmget(IPC_PRIVATE, 65536, IPC_CREAT|IPC_EXCL|0x1b6|0666) = 8449 +shmat(8449, 0, 0) = 0x4010b000 +shmget(IPC_PRIVATE, 65536, IPC_CREAT|IPC_EXCL|0x1b6|0666) = 8450 +shmat(8450, 0, 0) = 0x4011b000 +mmap(0, 151552, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4012b000 +shmget(IPC_PRIVATE, 32768, IPC_CREAT|IPC_EXCL|0x1b6|0666) = 8451 +shmat(8451, 0, 0) = 0x40150000 +open("/root/.terminfo/x/xterm", O_RDONLY) = -1 ENOENT (No such file or directory) +access("/root/.terminfo/x", R_OK) = -1 ENOENT (No such file or directory) +open("/etc/terminfo/x/xterm", O_RDONLY) = 6 +read(6, "\32\1:\0\25\0\3\0d\0013\2", 12) = 12 +read(6, "xterm|vs100|xterm terminal emula"..., 58) = 58 +read(6, "\0\1\0\0\1\0\0\0\1\0\0\0\0\1\1\0"..., 21) = 21 +read(6, "\0", 1) = 1 +read(6, "P\0\10\0A\0", 6) = 6 +read(6, "\377\377\0\0\2\0\4\0\25\0\32\0\""..., 712) = 712 +read(6, "\7\0\r\0\33[%i%p1%d;%p2%dr\0\33["..., 563) = 563 +close(6) = 0 +ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0 +ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0 +ioctl(1, TIOCGWINSZ, {ws_row=28, ws_col=80, ws_xpixel=503, ws_ypixel=368}) = 0 +brk(0x80cc000) = 0x80cc000 +brk(0x80cd000) = 0x80cd000 +brk(0x80ce000) = 0x80ce000 +brk(0x80cf000) = 0x80cf000 +brk(0x80d0000) = 0x80d0000 +brk(0x80d1000) = 0x80d1000 +brk(0x80d2000) = 0x80d2000 +brk(0x80d3000) = 0x80d3000 +ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0 +ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0 +sigaction(SIGINT, NULL, {SIG_DFL}) = 0 +sigaction(SIGINT, {0x40037750, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTERM, NULL, {SIG_DFL}) = 0 +sigaction(SIGTERM, {0x40037750, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, NULL, {SIG_DFL}) = 0 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0 +ioctl(1, SNDCTL_TMR_START, {B9600 opost isig icanon -echo ...}) = 0 +ioctl(1, TCGETS, {B9600 opost isig icanon -echo ...}) = 0 +ioctl(1, SNDCTL_TMR_START, {B9600 -opost -isig -icanon -echo ...}) = 0 +ioctl(1, SNDCTL_TMR_START, {B9600 -opost -isig -icanon -echo ...}) = 0 +ioctl(1, SNDCTL_TMR_START, {B9600 -opost isig -icanon -echo ...}) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33(B\33)0\0337\33[?47h\33[H\33["..., 2408) = 2408 +write(1, " "..., 150) = 150 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +brk(0x80d4000) = 0x80d4000 +brk(0x80d5000) = 0x80d5000 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[2;1H\16lqqqqqqqqqqqqqqqqqqqq"..., 185) = 185 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[1;80H", 7) = 7 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[27B", 5) = 5 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +write(1, "\33[?1h\33=", 7) = 7 +write(1, "\33[?1h\33=", 7) = 7 +sigaction(SIGINT, {0x8060590, [], SA_INTERRUPT|SA_NOMASK|SA_ONESHOT}, {0x40037750, [], SA_RESTART}) = 0 +sigaction(SIGSEGV, {0x80605b0, [], SA_INTERRUPT|SA_NOMASK|SA_ONESHOT}, {SIG_DFL}) = 0 +sigaction(SIGABRT, {0x80605b0, [], SA_INTERRUPT|SA_NOMASK|SA_ONESHOT}, {SIG_DFL}) = 0 +lstat(".", {st_mode=S_IFDIR|0775, st_size=1024, ...}) = 0 +lstat("/", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("..", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 +stat("..", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 +open("..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +brk(0x80d7000) = 0x80d7000 +getdents(6, /* 17 entries */, 4096) = 416 +lstat("../alien-3.2", {st_mode=S_IFDIR|0775, st_size=1024, ...}) = 0 +close(6) = 0 +lstat("../..", {st_mode=S_IFDIR|S_ISUID|0775, st_size=2048, ...}) = 0 +stat("../..", {st_mode=S_IFDIR|S_ISUID|0775, st_size=2048, ...}) = 0 +open("../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 13 entries */, 4096) = 232 +lstat("../../build", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 +close(6) = 0 +lstat("../../..", {st_mode=S_IFDIR|0755, st_size=3072, ...}) = 0 +stat("../../..", {st_mode=S_IFDIR|0755, st_size=3072, ...}) = 0 +open("../../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 58 entries */, 4096) = 1184 +lstat("../../../debian", {st_mode=S_IFDIR|S_ISUID|0775, st_size=2048, ...}) = 0 +close(6) = 0 +lstat("../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +stat("../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +open("../../../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 34 entries */, 4096) = 596 +lstat("../../../../joey", {st_mode=S_IFDIR|0755, st_size=3072, ...}) = 0 +close(6) = 0 +lstat("../../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +stat("../../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +open("../../../../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 30 entries */, 4096) = 576 +lstat("../../../../../lost+found", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 +lstat("../../../../../usr", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("../../../../../System.old", {st_mode=S_IFREG|0664, st_size=71282, ...}) = 0 +lstat("../../../../../etc", {st_mode=S_IFDIR|0755, st_size=6144, ...}) = 0 +lstat("../../../../../root", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../dev", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0 +lstat("../../../../../sbin", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../var", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("../../../../../tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=204800, ...}) = 0 +lstat("../../../../../bin", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 +lstat("../../../../../floppy", {st_mode=S_IFDIR|S_ISGID|0775, st_size=1024, ...}) = 0 +lstat("../../../../../boot", {st_mode=S_IFDIR|S_ISGID|0775, st_size=1024, ...}) = 0 +lstat("../../../../../lib", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../mnt", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("../../../../../home", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +close(6) = 0 +lstat(".", {st_mode=S_IFDIR|0775, st_size=1024, ...}) = 0 +lstat("/", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("..", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 +stat("..", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 +open("..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 17 entries */, 4096) = 416 +lstat("../alien-3.2", {st_mode=S_IFDIR|0775, st_size=1024, ...}) = 0 +close(6) = 0 +lstat("../..", {st_mode=S_IFDIR|S_ISUID|0775, st_size=2048, ...}) = 0 +stat("../..", {st_mode=S_IFDIR|S_ISUID|0775, st_size=2048, ...}) = 0 +open("../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 13 entries */, 4096) = 232 +lstat("../../build", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0 +close(6) = 0 +lstat("../../..", {st_mode=S_IFDIR|0755, st_size=3072, ...}) = 0 +stat("../../..", {st_mode=S_IFDIR|0755, st_size=3072, ...}) = 0 +open("../../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 58 entries */, 4096) = 1184 +lstat("../../../debian", {st_mode=S_IFDIR|S_ISUID|0775, st_size=2048, ...}) = 0 +close(6) = 0 +lstat("../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +stat("../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +open("../../../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 34 entries */, 4096) = 596 +lstat("../../../../joey", {st_mode=S_IFDIR|0755, st_size=3072, ...}) = 0 +close(6) = 0 +lstat("../../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +stat("../../../../..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +open("../../../../..", O_RDONLY) = 6 +fcntl(6, F_SETFD, FD_CLOEXEC) = 0 +getdents(6, /* 30 entries */, 4096) = 576 +lstat("../../../../../lost+found", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 +lstat("../../../../../usr", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("../../../../../System.old", {st_mode=S_IFREG|0664, st_size=71282, ...}) = 0 +lstat("../../../../../etc", {st_mode=S_IFDIR|0755, st_size=6144, ...}) = 0 +lstat("../../../../../root", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../dev", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0 +lstat("../../../../../sbin", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../var", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("../../../../../tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=204800, ...}) = 0 +lstat("../../../../../bin", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../proc", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 +lstat("../../../../../floppy", {st_mode=S_IFDIR|S_ISGID|0775, st_size=1024, ...}) = 0 +lstat("../../../../../boot", {st_mode=S_IFDIR|S_ISGID|0775, st_size=1024, ...}) = 0 +lstat("../../../../../lib", {st_mode=S_IFDIR|0755, st_size=2048, ...}) = 0 +lstat("../../../../../mnt", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +lstat("../../../../../home", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0 +close(6) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[28;15HTaper 6.7.4 by Yusuf N"..., 60) = 60 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[1;26HTaper - Linux Backup fo"..., 37) = 37 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[27;80H", 8) = 8 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[7;35H\33[7mBackup Module\33["..., 182) = 182 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +read(0, "\r", 1) = 1 +open("/root/taper_log", O_RDWR|O_APPEND|O_CREAT, 0600) = 6 +time(NULL) = 859232262 +open("/usr/lib/zoneinfo/localtime", O_RDONLY) = 7 +read(7, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6460) = 1410 +close(7) = 0 +time(NULL) = 859232262 +write(6, "Mon Mar 24 14:37:22 1997: Start"..., 50) = 50 +brk(0x80d8000) = 0x80d8000 +write(1, "\33[?1h\33=", 7) = 7 +write(1, "\33[?1h\33=", 7) = 7 +write(1, "\33[?1h\33=", 7) = 7 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[2;49H\16l\17\n\10\16x\17\n\10"..., 124) = 124 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[2;48H\16k\17\n\10\16x\17\n\10"..., 229) = 229 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\r\n\16lqqqqqqqqqqqqqqqqqqqqqqqq"..., 128) = 128 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +stat("/mnt/home-and-etc.taper", 0xbffff814) = -1 ENOENT (No such file or directory) +stat("/etc/locale/C/libc.cat", 0xbffff304) = -1 ENOENT (No such file or directory) +stat("/usr/share/locale/C/libc.cat", 0xbffff304) = -1 ENOENT (No such file or directory) +stat("/usr/share/locale/libc/C", 0xbffff304) = -1 ENOENT (No such file or directory) +stat("/usr/share/locale/C/libc.cat", 0xbffff304) = -1 ENOENT (No such file or directory) +stat("/usr/local/share/locale/C/libc.cat", 0xbffff304) = -1 ENOENT (No such file or directory) +time(NULL) = 859232262 +write(6, "Mon Mar 24 14:37:22 1997: No su"..., 81) = 81 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[10;9H\16lqqqqqqqqqqqqqqqqqqq"..., 515) = 515 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +write(1, "\33[?1h\33=", 7) = 7 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[12;14HNo such file or direct"..., 78) = 78 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +read(0, "\r", 1) = 1 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\10\10\33[1mOK\33[m", 11) = 11 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[2;48H\16qq\17\33[3;48H \33["..., 749) = 749 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +fsync(6) = 0 +fstat(6, {st_mode=S_IFREG|0600, st_size=2097334, ...}) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[11;21H\16lqqqqqqqqqqqqqqqqqq"..., 354) = 354 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[14;24HLog file too big - mak"..., 41) = 41 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +lseek(6, 182, SEEK_SET) = 182 +getpid() = 3550 +stat("/usr/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=12288, ...}) = 0 +geteuid() = 0 +stat("/usr/tmp/taper03550aaa", 0xbffff66c) = -1 ENOENT (No such file or directory) +open("/usr/tmp/taper03550aaa", O_RDWR|O_APPEND|O_CREAT, 0600) = 7 +read(6, "Thu Mar 20 16:21:20 1997: Backi"..., 150000) = 150000 +write(7, "Thu Mar 20 16:21:20 1997: Backi"..., 150000) = 150000 +read(6, "ory /home/joey/mail/\nFri Mar 21"..., 150000) = 150000 +write(7, "ory /home/joey/mail/\nFri Mar 21"..., 150000) = 150000 +read(6, "5/\nFri Mar 21 16:22:50 1997: S"..., 150000) = 150000 +write(7, "5/\nFri Mar 21 16:22:50 1997: S"..., 150000) = 150000 +read(6, "lib/dwww/dwww.html; actual size "..., 150000) = 150000 +write(7, "lib/dwww/dwww.html; actual size "..., 150000) = 150000 +read(6, "\nSun Mar 23 16:16:14 1997: Bac"..., 150000) = 150000 +write(7, "\nSun Mar 23 16:16:14 1997: Bac"..., 150000) = 150000 +read(6, "shift.prp; actual size 776, on t"..., 150000) = 150000 +write(7, "shift.prp; actual size 776, on t"..., 150000) = 150000 +read(6, "esk/FileTags; actual size 2180, "..., 150000) = 150000 +write(7, "esk/FileTags; actual size 2180, "..., 150000) = 150000 +read(6, "rs/GIFEncoder.java; actual size "..., 150000) = 150000 +write(7, "rs/GIFEncoder.java; actual size "..., 150000) = 150000 +read(6, "tape size 3187.\nSun Mar 23 16:2"..., 150000) = 150000 +write(7, "tape size 3187.\nSun Mar 23 16:2"..., 150000) = 150000 +read(6, "ssion/Blood0.db; actual size 393"..., 150000) = 150000 +write(7, "ssion/Blood0.db; actual size 393"..., 150000) = 150000 +read(6, "3937, on tape size 23937.\nSun M"..., 150000) = 150000 +write(7, "3937, on tape size 23937.\nSun M"..., 150000) = 150000 +read(6, "n tape size 355.\nSun Mar 23 16:"..., 150000) = 150000 +write(7, "n tape size 355.\nSun Mar 23 16:"..., 150000) = 150000 +read(6, ".d/lambdamoo]\nSun Mar 23 17:13:"..., 150000) = 150000 +write(7, ".d/lambdamoo]\nSun Mar 23 17:13:"..., 150000) = 150000 +read(6, "size 1453, on tape size 812.\nSu"..., 150000) = 147152 +write(7, "size 1453, on tape size 812.\nSu"..., 147152) = 147152 +read(6, "", 150000) = 0 +close(6) = 0 +unlink("/root/taper_log") = 0 +time(NULL) = 859232263 +write(7, "Mon Mar 24 14:37:23 1997: Backu"..., 44) = 44 +write(7, "\n\n", 2) = 2 +close(7) = 0 +rename("/usr/tmp/taper03550aaa", "/root/taper_log") = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[28;67H", 8) = 8 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[1;56H", 7) = 7 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[11;21H "..., 337) = 337 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[7;35H\33[7mBackup Module\33["..., 182) = 182 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +read(0, "\33", 1) = 1 +oldselect(1, [0], NULL, NULL, {1, 0}) = 1 (in [0], left {1, 0}) +read(0, "O", 1) = 1 +oldselect(1, [0], NULL, NULL, {1, 0}) = 1 (in [0], left {1, 0}) +read(0, "A", 1) = 1 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[13DBackup Module\33[21;39H\33"..., 37) = 37 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +read(0, "\r", 1) = 1 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[2;1H\33[K\n\33[K\n\33[K\n\33"..., 115) = 115 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[H\33[K", 6) = 6 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +sigaction(SIGTSTP, {SIG_IGN}, {0x40037680, [], SA_RESTART}) = 0 +write(1, "\33[27B\33[J", 8) = 8 +sigaction(SIGTSTP, {0x40037680, [], SA_RESTART}, NULL) = 0 +write(1, "\33[28;1H\0337\33[1;28r\0338\33["..., 30) = 30 +write(1, "\33[?1l\33>", 7) = 7 +ioctl(1, SNDCTL_TMR_START, {B9600 opost isig icanon echo ...}) = 0 +munmap(0x4012b000, 151552) = 0 +shmdt(0x40150000) = 0 +shmdt(0x4010b000) = 0 +shmdt(0x4011b000) = 0 +shmdt(0x40008000) = 0 +shmctl(8448, IPC_RMID, 0) = 0 +shmctl(8451, IPC_RMID, 0) = 0 +shmctl(8449, IPC_RMID, 0) = 0 +shmctl(8450, IPC_RMID, 0) = 0 +sigaction(SIGINT, {SIG_DFL}, {0x8060590, [], SA_INTERRUPT|SA_NOMASK|SA_ONESHOT}) = 0 +sigaction(SIGSEGV, {SIG_DFL}, {0x80605b0, [], SA_INTERRUPT|SA_NOMASK|SA_ONESHOT}) = 0 +sigaction(SIGABRT, {SIG_DFL}, {0x80605b0, [], SA_INTERRUPT|SA_NOMASK|SA_ONESHOT}) = 0 +_exit(0) = ? diff --git a/lib/fromdeb.pl b/lib/fromdeb.pl new file mode 100644 index 0000000..818cf6f --- /dev/null +++ b/lib/fromdeb.pl @@ -0,0 +1,67 @@ +#!/usr/bin/perl +# +# Package for converting from a .deb file. + +# 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 $file=shift; + my %fields; + + # Extract the control file from the deb file. + my @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 + 1; + } else { + $fields{RELEASE} = '1'; + } + + # Read in the list of conffiles, if any. + $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; + foreach $fn (`ar p $file data.tar.gz | tar tzf -`) { + $fields{FILELIST}.="/$fn"; + } + + return %fields; +} + +# Handles unpacking of debs. +sub Unpack { my ($file)=@_; + SafeSystem ("(cd ..;ar p $file data.tar.gz) | tar zxpf -","Error unpacking $file\n"); +} + +1 diff --git a/lib/fromrpm.pl b/lib/fromrpm.pl new file mode 100644 index 0000000..c35acd5 --- /dev/null +++ b/lib/fromrpm.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl +# +# Package for converting from a .rpm file. + +# 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 $file=shift; + my %fields; + + # Use --queryformat to pull out all the fields we need. + foreach $field ('NAME','VERSION','RELEASE','ARCH','CHANGELOGTEXT', + 'SUMMARY','DESCRIPTION','COPYRIGHT') { + $_=`rpm -qp $file --queryformat \%{$field}`; + $fields{$field}=$_ if $_ ne '(none)'; + } + + # Get the conffiles list. + $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'; + } + + if (!$fields{RELEASE} || !$fields{VERSION} || !$fields{NAME}) { + Error("Error querying rpm file."); + } + + $fields{RELEASE}=$fields{RELEASE}+1; + $fields{DISTRIBUTION}="Red Hat"; + + return %fields; +} + +# Unpack a rpm file. +sub Unpack { my ($file)=@_; + SafeSystem("(cd ..;rpm2cpio $file) | cpio --extract --make-directories --no-absolute-filenames", + "Error unpacking $file\n"); +} + +1 diff --git a/lib/fromtgz.pl b/lib/fromtgz.pl new file mode 100644 index 0000000..e9e6e20 --- /dev/null +++ b/lib/fromtgz.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl +# +# Package for converting from a tgz file. + +# 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 $file=shift; + 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'; + $fields{SUMMARY}='Converted Slackware tgz package'; + $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/ |") || 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. + $fields{FILELIST}=''; + open (FILELIST, "tar ztf $file |"); + while () { + $fields{FILELIST}.="/$_"; + } + close FILELIST; + + return %fields; +} + +# Handles unpacking of tgz's. +sub Unpack { my ($file)=@_; + SafeSystem ("(cd ..;cat $file) | tar zxpf -","Error unpacking $file\n"); +} + +1 diff --git a/lib/rpm/changelog b/lib/rpm/changelog new file mode 100644 index 0000000..dd1eda8 --- /dev/null +++ b/lib/rpm/changelog @@ -0,0 +1,9 @@ +#PACKAGE# (#VERSION#-#DELTA#) unstable; urgency=low + + * Converted from RPM binary format to debian + + -- #USERNAME# <#EMAIL#> #DATE# + +Local variables: +mode: debian-changelog +End: diff --git a/lib/rpm/control b/lib/rpm/control new file mode 100644 index 0000000..bcfa6e2 --- /dev/null +++ b/lib/rpm/control @@ -0,0 +1,11 @@ +Source: #PACKAGE# +Section: unknown +Priority: extra +Maintainer: #USERNAME# <#EMAIL#> +Standards-Version: 2.1.1.0 + +Package: #PACKAGE# +Architecture: #ARCHIT# +Depends: ${shlibs:Depends} +Description: Converted RPM package + Not available diff --git a/lib/rpm/copyright b/lib/rpm/copyright new file mode 100644 index 0000000..e70d1e3 --- /dev/null +++ b/lib/rpm/copyright @@ -0,0 +1,6 @@ +This package was debianized by the alien program by converting +a binary RPM Package on #DATE#. + +Copyright: Unknown + +Information from the binary Package: diff --git a/lib/tgz/changelog b/lib/tgz/changelog new file mode 100644 index 0000000..ec28897 --- /dev/null +++ b/lib/tgz/changelog @@ -0,0 +1,9 @@ +#PACKAGE# (#VERSION#-#DELTA#) unstable; urgency=low + + * Converted from Slackware .tgz binary format to debian + + -- #USERNAME# <#EMAIL#> #DATE# + +Local variables: +mode: debian-changelog +End: diff --git a/lib/tgz/control b/lib/tgz/control new file mode 100644 index 0000000..c9c3dce --- /dev/null +++ b/lib/tgz/control @@ -0,0 +1,11 @@ +Source: #PACKAGE# +Section: unknown +Priority: extra +Maintainer: #USERNAME# <#EMAIL#> +Standards-Version: 2.1.1.0 + +Package: #PACKAGE# +Architecture: #ARCHIT# +Depends: ${shlibs:Depends} +Description: Converted Slackware tgz package + Not available diff --git a/lib/tgz/copyright b/lib/tgz/copyright new file mode 100644 index 0000000..14f9ad0 --- /dev/null +++ b/lib/tgz/copyright @@ -0,0 +1,4 @@ +This package was debianized by the alien program by converting +a binary Slackware tgz Package on #DATE#. + +Copyright: Unknown diff --git a/lib/tgz/rules b/lib/tgz/rules new file mode 100644 index 0000000..e74f97a --- /dev/null +++ b/lib/tgz/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=#PACKAGE# + +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 $(package) + 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/rpm/changelog b/lib/to-deb/rpm/changelog new file mode 100644 index 0000000..131fce2 --- /dev/null +++ b/lib/to-deb/rpm/changelog @@ -0,0 +1,11 @@ +#NAME# (#VERSION#-#RELEASE#) unstable; urgency=low + + * Converted from RPM binary format to debian + + -- #USERNAME# <#EMAIL#> #DATE# + +#CHANGELOGTEXT# + +Local variables: +mode: debian-changelog +End: diff --git a/lib/to-deb/rpm/control b/lib/to-deb/rpm/control new file mode 100644 index 0000000..49abeb5 --- /dev/null +++ b/lib/to-deb/rpm/control @@ -0,0 +1,11 @@ +Source: #NAME# +Section: unknown +Priority: extra +Maintainer: #USERNAME# <#EMAIL#> +Standards-Version: 2.1.1.0 + +Package: #NAME# +Architecture: #ARCH# +Depends: ${shlibs:Depends} +Description: #SUMMARY# +#DESCRIPTION# diff --git a/lib/to-deb/rpm/copyright b/lib/to-deb/rpm/copyright new file mode 100644 index 0000000..b99a00f --- /dev/null +++ b/lib/to-deb/rpm/copyright @@ -0,0 +1,7 @@ +This package was debianized by the alien program by converting +a binary RPM Package on #DATE#. + +Copyright: #COPYRIGHT# + +Information from the binary Package: +#COPYRIGHT_EXTRA# diff --git a/lib/to-deb/tgz/changelog b/lib/to-deb/tgz/changelog new file mode 100644 index 0000000..d412b36 --- /dev/null +++ b/lib/to-deb/tgz/changelog @@ -0,0 +1,9 @@ +#NAME# (#VERSION#-#RELEASE#) unstable; urgency=low + + * Converted from Slackware .tgz binary format to debian + + -- #USERNAME# <#EMAIL#> #DATE# + +Local variables: +mode: debian-changelog +End: diff --git a/lib/to-deb/tgz/conffiles b/lib/to-deb/tgz/conffiles new file mode 100644 index 0000000..f2b7354 --- /dev/null +++ b/lib/to-deb/tgz/conffiles @@ -0,0 +1 @@ +#CONFFILES# \ No newline at end of file diff --git a/lib/to-deb/tgz/control b/lib/to-deb/tgz/control new file mode 100644 index 0000000..9be675a --- /dev/null +++ b/lib/to-deb/tgz/control @@ -0,0 +1,11 @@ +Source: #NAME# +Section: unknown +Priority: extra +Maintainer: #USERNAME# <#EMAIL#> +Standards-Version: 2.1.1.0 + +Package: #NAME# +Architecture: #ARCH# +Depends: ${shlibs:Depends} +Description: Converted Slackware tgz package + Converted Slackware tgz package diff --git a/lib/to-deb/tgz/copyright b/lib/to-deb/tgz/copyright new file mode 100644 index 0000000..14f9ad0 --- /dev/null +++ b/lib/to-deb/tgz/copyright @@ -0,0 +1,4 @@ +This package was debianized by the alien program by converting +a binary Slackware tgz Package on #DATE#. + +Copyright: Unknown diff --git a/lib/to-deb/tgz/rules b/lib/to-deb/tgz/rules new file mode 100644 index 0000000..ef62742 --- /dev/null +++ b/lib/to-deb/tgz/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-rpm/deb/spec b/lib/to-rpm/deb/spec new file mode 100644 index 0000000..390f8fc --- /dev/null +++ b/lib/to-rpm/deb/spec @@ -0,0 +1,14 @@ +Buildroot: #BUILDROOT# +Name: #NAME# +Version: #VERSION# +Release: #RELEASE# +Summary: #SUMMARY# +Copyright: #COPYRIGHT# +Distribution: #DISTRIBUTION# +Group: Converted/#DISTRIBUTION# + +%description +#DESCRIPTION# + +%files +#FILELIST# diff --git a/lib/todeb.pl b/lib/todeb.pl new file mode 100644 index 0000000..7e713a0 --- /dev/null +++ b/lib/todeb.pl @@ -0,0 +1,86 @@ +#!/usr/bin/perl +# +# Package for converting to .deb file. + +# Create debian/* files, either from a patch, or automatically. +sub Convert { my ($workdir,%fields)=@_; + if ($generate && !$single) { + SafeSystem("cp -fa $workdir $workdir.orig", "Error creating $workdir.orig"); + } + + # Make sure package name is all lower case. + $fields{NAME}=lc($fields{NAME}); + + # Fix up the description field to Debian standards (indented at + # least one space, no empty lines.) + my $description=undef; + 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"; + + # Do the actual conversion here. + mkdir "$fields{NAME}-$fields{VERSION}/debian",0755 + || Error("Unable to make debian directory"); + $patchfile=GetPatch($fields{NAME}) if !$patchfile; + if ($patchfile) { + Patch($patchfile,$workdir); + } + else { + AutoDebianize($workdir,%fields); + } + chmod 0755,"$workdir/debian/rules"; + + # Make the .orig directory if we were instructed to do so. + if ($single) { + print "Directory $workdir prepared.\n"; + } + elsif ($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 ($workdir,%fields)=@_; + Status("Automatic package debianization"); + + # Generate some more fields we need. + $fields{DATE}=GetDate(); + $fields{EMAIL}=GetEmail(); + $fields{USERNAME}=GetUserName(); + + # Fill out all the templates. + foreach $fn (glob("$libdir/to-$desttype/$filetype/*")) { + my $destfn=$fn; + $destfn=~s#^$libdir/to-$desttype/$filetype/##; + FillOutTemplate($fn,"$workdir/debian/$destfn",%fields); + } +} + +# Passed the available info about the package in a hash, return the name of +# the debian package that will be made. +sub GetPackageName { my %fields=@_; + return "$fields{NAME}_$fields{VERSION}-$fields{RELEASE}_$fields{ARCH}.deb"; +} + +# Build the debian package. +sub Build { + SafeSystem("debian/rules binary","Package build failed.\n"); +} + +# Install the debian package that is passed. +sub Install { my $package=shift; + SafeSystem("dpkg -i $package"); +} + +1 diff --git a/lib/torpm.pl b/lib/torpm.pl new file mode 100644 index 0000000..c30b85e --- /dev/null +++ b/lib/torpm.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl +# +# Package for converting to .rpm file. + +# Generate the spec file. +sub Convert { my ($workdir,%fields)=@_; + 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; + foreach $fn (split(/\n/,$fields{FILELIST})) { + if ($fn=~m:/$: eq undef) { # not a directory + if (grep(m:^$fn$:,@conffiles)) { # it's a conffile + $filelist.="%config $fn\n"; + } + else { # normal file + $filelist.="$fn\n"; + } + } + } + $fields{FILELIST}=$filelist; + + FillOutTemplate("$libdir/to-$desttype/$filetype/spec", + "$workdir/$fields{NAME}-$fields{VERSION}-$fields{RELEASE}.spec",%fields); + + if ($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 %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) { + Error("rpm --showrc failed."); + } + + return "$rpmdir/$rpmarch/$fields{NAME}-$fields{VERSION}-$fields{RELEASE}.$rpmarch.rpm"; +} + +# Build a rpm file. +sub Build { my (%fields)=@_; + SafeSystem("rpm -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 $package=shift; + SafeSystem("rpm -ivh $ENV{RPMINSTALLOPT} $package"); +} + +1 diff --git a/lib/totgz.pl b/lib/totgz.pl new file mode 100644 index 0000000..084c4fb --- /dev/null +++ b/lib/totgz.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl +# +# Package for converting to .tgz file. + +sub Convert { my ($workdir,%fields)=@_; + # Nothing to do. +} + +# Passed the available info about the package in a hash, return the name of +# the tgz package that will be made. +sub GetPackageName { my %fields=@_; + return "$fields{NAME}.tgz"; +} + +# Build a tgz file. +sub Build { my (%fields)=@_; + SafeSystem("tar czf ../".GetPackageName(%fields)." ."); +} + +# Install the passed tgz file. +sub Install { my $package=shift; + # Not yet supported. (I really don't like unpacking tgz files into the + # root directory. :-) + print STDERR "Sorry, installing generated .tgz files in not yet supported.\n"; +} + +1 diff --git a/patches/applix-english_4.3-2.diff b/patches/applix-english_4.3-2.diff new file mode 100644 index 0000000..e401eda --- /dev/null +++ b/patches/applix-english_4.3-2.diff @@ -0,0 +1,108 @@ +--- applix-english-4.3.orig/debian/changelog ++++ applix-english-4.3/debian/changelog +@@ -0,0 +1,10 @@ ++applix-english (4.3-2) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian ++ ++ -- Joey Hess Fri, 16 May 1997 00:40:39 -0400 ++ ++ ++Local variables: ++mode: debian-changelog ++End: +--- applix-english-4.3.orig/debian/control ++++ applix-english-4.3/debian/control +@@ -0,0 +1,14 @@ ++Source: applix-english ++Section: unknown ++Priority: extra ++Maintainer: Joey Hess ++Standards-Version: 2.1.1.0 ++ ++Package: applix-english ++Architecture: i386 ++Depends: applix ++Description: Applixware Menus and Help in English ++ This is a Converted RPM package. ++ . ++ The English versions of the menu structure and some of the ++ basic help documents, for applixware. +--- applix-english-4.3.orig/debian/copyright ++++ applix-english-4.3/debian/copyright +@@ -0,0 +1,17 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Fri, 16 May 1997 00:40:39 -0400. ++ ++Copyright: Commercial software. Do not distribute. ++ ++Information from the binary Package: ++Name : applix-english Distribution: Applixware for Red Hat Linux ++Version : 4.3 Vendor: Red Hat Software ++Release : 1 Build Date: Thu Mar 20 15:25:05 1997 ++Install date: (none) Build Host: imp.redhat.com ++Group : X11/Applications Source RPM: applix-4.3-1.nosrc.rpm ++Size : 53181805 ++Summary : Applixware Menus and Help in English ++Description : ++The English versions of the menu structure and some of the ++basic help documents. ++ +--- applix-english-4.3.orig/debian/rules ++++ applix-english-4.3/debian/rules +@@ -0,0 +1,55 @@ ++#!/usr/bin/make -f ++# ++# This is a special rules files for handling alien or binary packages ++# Christoph Lameter, October 30, 1996 ++ ++package=applix-english ++ ++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 ++ install -d debian/tmp/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 ++ chmod +rx debian/tmp/usr/X11R6/lib/X11/applix debian/tmp/usr/X11R6/lib/X11/applix/axdata debian/tmp/usr/X11R6/lib/X11/applix/axdata/elflib ++ debstd ++ dpkg-gencontrol ++ dpkg --build debian/tmp .. ++ mv debian/tmp/usr/X11R6/lib/X11/applix opt ++ ++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/patches/applix_4.2-2.diff b/patches/applix_4.2-2.diff new file mode 100644 index 0000000..5563a88 --- /dev/null +++ b/patches/applix_4.2-2.diff @@ -0,0 +1,126 @@ +--- applix-4.2.orig/debian/changelog ++++ applix-4.2/debian/changelog +@@ -0,0 +1,9 @@ ++applix (4.2-2) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian ++ ++ -- Joey Hess Fri, 31 Jan 1997 22:50:29 -0500 ++ ++Local variables: ++mode: debian-changelog ++End: +--- applix-4.2.orig/debian/control ++++ applix-4.2/debian/control +@@ -0,0 +1,12 @@ ++Source: applix ++Section: unknown ++Priority: extra ++Maintainer: Joey Hess ++Standards-Version: 2.1.1.0 ++ ++Package: applix ++Architecture: i386 ++Depends: ${shlibs:Depends} ++Description: A Complete X Windows based Office Suite ++ Redhat's Applixware, a Office Suite for X. ++ This is a Converted RPM package. +--- applix-4.2.orig/debian/copyright ++++ applix-4.2/debian/copyright +@@ -0,0 +1,15 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Fri, 31 Jan 1997 22:50:29 -0500. ++ ++Copyright: Commercial software. Do not distribute. ++ ++Information from the binary Package: ++Name : applix Distribution: Red Hat Linux Rembrandt ++Version : 4.2 Vendor: Red Hat Software ++Release : 2 Build Date: Wed Jul 03 12:13:21 1996 ++Install date: (none) Build Host: porky.redhat.com ++Group : X11/Applications Source RPM: applix-4.2-2.src.rpm ++Size : 150073902 ++Summary : (none) ++Description : ++A Complete X Windows based Office Suite +--- applix-4.2.orig/debian/rules ++++ applix-4.2/debian/rules +@@ -0,0 +1,57 @@ ++#!/usr/bin/make -f ++# ++# This is a special rules files for handling alien or binary packages ++# Christoph Lameter, October 30, 1996 ++ ++package=applix ++ ++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 ++ install -d debian/tmp/usr/X11R6/bin ++ install opt/bin/applix debian/tmp/usr/X11R6/bin ++ install -d debian/tmp/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 ++ chmod +rx debian/tmp/usr/X11R6/lib/X11/applix ++ debstd ++ dpkg-gencontrol ++ dpkg --build debian/tmp .. ++ mv debian/tmp//usr/X11R6/lib/X11/applix opt ++ ++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 +--- applix-4.2.orig/debian/README.debian ++++ applix-4.2/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 +--- applix-4.2.orig/debian/menu ++++ applix-4.2/debian/menu +@@ -0,0 +1 @@ ++x11 Apps/Editors applix none "Applixware" applix +--- applix-4.2.orig/opt/bin/applix ++++ applix-4.2/opt/bin/applix +@@ -1,3 +1,3 @@ + #!/bin/sh + +-/opt/applix/applix $* ++/usr/X11R6/lib/X11/applix/applix $* diff --git a/patches/applix_4.3-2.diff b/patches/applix_4.3-2.diff new file mode 100644 index 0000000..190cf05 --- /dev/null +++ b/patches/applix_4.3-2.diff @@ -0,0 +1,163 @@ +--- applix-4.3.orig/debian/changelog ++++ applix-4.3/debian/changelog +@@ -0,0 +1,9 @@ ++applix (4.3-2) unstable; urgency=low ++ ++ * Converted from RPM binary format to debian ++ ++ -- Joey Hess Thu, 15 May 1997 21:32:19 -0400 ++ ++Local variables: ++mode: debian-changelog ++End: +--- applix-4.3.orig/debian/control ++++ applix-4.3/debian/control +@@ -0,0 +1,18 @@ ++Source: applix ++Section: unknown ++Priority: extra ++Maintainer: Joey Hess ++Standards-Version: 2.1.1.0 ++ ++Package: applix ++Architecture: i386 ++Depends: ${shlibs:Depends} ++Description: A Complete X Windows based Office Suite ++ Redhat's Applixware, a Office Suite for X. ++ This is a Converted RPM package. ++ . ++ Applixware is a complete X-Window-based Office Suite which provides ++ word processing, spreadsheet, presentation graphics, and more. ++ Applixware also includes Applix Builder, a graphical application builder ++ that allows you to build new applications that reuse Applixware ++ components. +--- applix-4.3.orig/debian/copyright ++++ applix-4.3/debian/copyright +@@ -0,0 +1,20 @@ ++This package was debianized by the alien program by converting ++a binary RPM Package on Thu, 15 May 1997 21:33:36 -0400 ++ ++Copyright: Commercial software. Do not distribute. ++ ++Information from the binary Package: ++ ++Name : applix Distribution: Applixware for Red Hat Linux ++Version : 4.3 Vendor: Red Hat Software ++Release : 1 Build Date: Thu Mar 20 15:25:05 1997 ++Install date: (none) Build Host: imp.redhat.com ++Group : X11/Applications Source RPM: applix-4.3-1.nosrc.rpm ++Size : 57787719 ++Summary : A Complete X-Window-based Office Suite ++Description : ++Applixware is a complete X-Window-based Office Suite which provides ++word processing, spreadsheet, presentation graphics, and more. ++Applixware also includes Applix Builder, a graphical application builder ++that allows you to build new applications that reuse Applixware ++components. +--- applix-4.3.orig/debian/rules ++++ applix-4.3/debian/rules +@@ -0,0 +1,57 @@ ++#!/usr/bin/make -f ++# ++# This is a special rules files for handling alien or binary packages ++# Christoph Lameter, October 30, 1996 ++ ++package=applix ++ ++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 ++ install -d debian/tmp/usr/X11R6/bin ++ cd debian/tmp/usr/X11R6/bin && ln -sf ../lib/X11/applix/bin/applix ++ install -d debian/tmp/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 ++ chmod +rx debian/tmp/usr/X11R6/lib/X11/applix debian/tmp/usr/X11R6/lib/X11/applix/axdata/elflib ++ debstd ++ dpkg-gencontrol ++ dpkg --build debian/tmp .. ++ mv debian/tmp/usr/X11R6/lib/X11/applix opt ++ ++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 +--- applix-4.3.orig/debian/README.debian ++++ applix-4.3/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 +--- applix-4.3.orig/debian/menu ++++ applix-4.3/debian/menu +@@ -0,0 +1 @@ ++?package(applix):needs="x11" section="Apps/Editors" title="Applixware" command="applix" +--- applix-4.3.orig/opt/applix/bin/applix ++++ applix-4.3/opt/applix/bin/applix +@@ -1,11 +1,8 @@ + #!/bin/bash + + # Get the current prefix for the applix package: +-if PRE=$(rpm -q --qf '%{INSTALLPREFIX}' applix 2>/dev/null) ; then : ; else +- # applix has not been installed with RPM on this system. Assume that +- # it is in /opt +- PRE=/opt +-fi ++# Mod for debian: ++PRE=/usr/X11R6/lib/X11 + + # Choose a default language: Set one of these variables before running + # this script and you will choose the language you want. Otherwise, +@@ -32,11 +29,12 @@ + # We'll enforce 5.3.12 for greatest stability + ldd $PRE/applix/applix | grep "5\.3\.12" >/dev/null 2>&1 || { + [ -d $PRE/applix/lib ] || { +- echo "Please install the applix-libs package; applix may not" >&2 ++ # mod for debian: just warn, don't force them to hit enter. ++ echo "You should condsider installing the applix-libs package; applix may not" >&2 + echo "work with your current C library. " >&2 +- echo >&2 +- echo "Press enter to continue and try to run Applix anyway," >&2 +- echo -n "or press control-c to abort:" >&2 ++# echo >&2 ++# echo "Press enter to continue and try to run Applix anyway," >&2 ++# echo -n "or press control-c to abort:" >&2 + } + export LD_LIBRARY_PATH=$PRE/applix/lib/:$LD_LIBRARY_PATH + }