commit ad046046f038488c5b5cb46713ced1055b75bd22 Author: joey Date: Sun Sep 5 05:50:40 1999 +0000 Initial revision 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 + }