--- upx-ucl-3.04.orig/debian/prerm +++ upx-ucl-3.04/debian/prerm @@ -0,0 +1,9 @@ +#!/bin/sh +# +set -e + +[ "$1" = "remove" ] && update-alternatives --remove upx /usr/bin/upx-ucl + +#DEBHELPER# + +exit 0 --- upx-ucl-3.04.orig/debian/dirs +++ upx-ucl-3.04/debian/dirs @@ -0,0 +1 @@ +usr/bin --- upx-ucl-3.04.orig/debian/dh_upx +++ upx-ucl-3.04/debian/dh_upx @@ -0,0 +1,141 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_upx - applies UPX compression on executables + +=cut + +exit 0 if not (`dpkg-architecture -qDEB_BUILD_ARCH`=~/^i386.*/); +exit 0 if not (`dpkg-architecture -qDEB_BUILD_ARCH_OS`=~/^linux.*/); + +eval "require Debian::Debhelper::Dh_Lib" || die +"\"debhelper\" package must be installed before running this program. Exiting now.\n"; +use strict; +use File::Find; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B [S>] [B<-X>I] + +=head1 DESCRIPTION + +dh_upx is a debhelper program that is responsible for compressing +executables using the UPX program. + +UPX can be applied on any kinds of i386-compatible executable files. +Really small files won't be compressed since the compressed version +would become bigger then original file. + +=head1 IMPORTANT NOTE + +dh_upx must not be executed before dh_strip and dh_shlibdeps have done +their work. + +=head1 HINTS + +You should never forget that the compression costs load time. Better +don't compress applications that are used frequently. + +You should not use UPX on files with special permissions (SUID, SGID). +This will fail. + +=head1 OPTIONS + +=over 4 + +=item B<-X>I, B<--exclude=>I + +Exclude files that contain "item" anywhere in their filename from being +compressed. You may use this option multiple times to build up a list of +things to exclude. + +=back + +=head1 NOTES + +UPX will only work on Linux executables for i386. dh_upx does nothing if +the Build-Target is not "i386-linux". + +If the DEB_BUILD_OPTIONS environment variable contains "nostrip", nothing +will be compressed, in accordance with Debian policy. + +=head1 CONFORMS TO + +Debian policy, version 3.0.1 + +=cut + +init(); + +# This variable can be used to turn off stripping and UPX compression +# (see Policy). +if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /nostrip/) { + exit; +} + +# I could just use `file $_[0]`, but this is safer +sub get_file_type { + my $file=shift; + open (FILE, '-|') # handle all filenames safely + || exec('file', $file) + || die "can't exec file: $!"; + my $type=; + close FILE; + return $type; +} + + +# Check if a file is an elf binary +# for use by File::Find. It'll fill the following list with anything +# it finds: +my @executables; +sub testfile { + return if -l $_ or -d $_; # Skip directories and symlinks always. + + # Skip maintainer scripts + return if (/DEBIAN/); + + # See if we were asked to exclude this file. + # Note that we have to test on the full filename, including directory. + my $fn="$File::Find::dir/$_"; + foreach my $f (@{$dh{EXCLUDE}}) { + return if ($fn=~m/\Q$f\E/); + } + + # Is it executable and has >4kB size? -x isn't good enough, so we need + # to use stat and file + my (undef,undef,$mode,undef,undef,undef,undef,$size)=stat(_); + if (($mode & 0111) && ($size > 4095)) { + # Ok, expensive test. + my $type=get_file_type($_); + if ($type=~m/.*executable.*/) { + push @executables, $fn; + return; + } + } +} + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + + find(\&testfile,$tmp); + + foreach (@executables) { + doit("upx-ucl","-9",$_); + } + +} + +=head1 SEE ALSO + +L, L + +This program is an extension to debhelper. + +=head1 AUTHOR + +Eduard Bloch . + +=cut --- upx-ucl-3.04.orig/debian/changelog +++ upx-ucl-3.04/debian/changelog @@ -0,0 +1,363 @@ +upx-ucl (3.04-1) unstable; urgency=low + + * New upstream release: + + FTBFS with gcc 4.4 fixed by upstream (closes: #548566). + * p_mach.cpp: Fix from upstream vcs: mach/fat needs seek() + after set_extent(). + + -- Robert Luberda Fri, 16 Oct 2009 12:56:47 +0200 + +upx-ucl (3.03-3) unstable; urgency=low + + * Upload to unstable. + * Standards-Version: 3.8.3 (no changes). + * Build with debhelper v7. + * rules: call dh_prep instead of `dh_clean -k'. + + -- Robert Luberda Sun, 20 Sep 2009 21:34:57 +0200 + +upx-ucl (3.03-2) experimental; urgency=low + + * Merge changes from 3.01-2.1 and 3.01-3. + + -- Robert Luberda Sun, 27 Jul 2008 23:38:45 +0200 + +upx-ucl (3.03-1) experimental; urgency=low + + * New upstream release. + * Fix bashism in debian/rules (closes: #478635). + + -- Robert Luberda Tue, 29 Apr 2008 23:01:31 +0200 + +upx-ucl (3.02-2) experimental; urgency=low + + * Merge changes from 3.01-2. + + -- Robert Luberda Sun, 27 Apr 2008 09:37:26 +0200 + +upx-ucl (3.02-1) experimental; urgency=low + + * New upstream version. + * Standards-Version: 3.7.3 (no changes). + * Move homepage url from Description to its own field. + + -- Robert Luberda Sat, 05 Jan 2008 10:03:36 +0100 + +upx-ucl (3.01-3) unstable; urgency=low + + * Applied patch from Ubuntu to fix ftbfs due to "format not a string + literal and no format arguments" warning. + + -- Robert Luberda Sun, 27 Jul 2008 13:06:38 +0200 + +upx-ucl (3.01-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix bashism in debian/rules (Closes: #478635) + * Bump Standards-Version to 3.8.0. + + -- Chris Lamb Sat, 07 Jun 2008 21:21:37 +0100 + +upx-ucl (3.01-2) unstable; urgency=low + + * Merge changes from experimental: + + Standards-Version: 3.7.3 (no changes). + + Move homepage url from Description to its own field. + * Build with debhelper v6. + * Remove debian revision from libucl-dev build dependency (lintian). + * Change doc-base section to `File Management' (lintian). + + -- Robert Luberda Sat, 26 Apr 2008 18:45:42 +0200 + +upx-ucl (3.01-1) unstable; urgency=low + + * New upstream version. + + -- Robert Luberda Thu, 09 Aug 2007 22:59:19 +0200 + +upx-ucl (3.00-2) unstable; urgency=low + + * Fix FTBFS on big-endian archs (hppa, ia64,sparc). + + -- Robert Luberda Fri, 06 Jul 2007 09:03:34 +0200 + +upx-ucl (3.00-1) unstable; urgency=low + + * New upstream version (closes: #422910). + + -- Robert Luberda Sun, 20 May 2007 13:43:54 +0200 + +upx-ucl (2.03-3) unstable; urgency=low + + * Upload to unstable. + * Fix FTBFS with gcc 4.3 (closes: #417676). + + -- Robert Luberda Mon, 23 Apr 2007 21:50:34 +0200 + +upx-ucl (2.03-2) experimental; urgency=low + + * Sync debian/rules with upx-ucl-beta 2.93-1. + * dh_upx: Fix broken i386-linux architecture check. + + -- Robert Luberda Sat, 10 Mar 2007 22:12:32 +0100 + +upx-ucl (2.03-1) unstable; urgency=low + + * New upstream version. + + -- Robert Luberda Wed, 31 Jan 2007 00:45:25 +0100 + +upx-ucl (2.01-1) unstable; urgency=low + + * New upstream version. + * Standards-Version: 3.7.2 (no changes). + + -- Robert Luberda Tue, 13 Jun 2006 21:23:23 +0200 + +upx-ucl (2.00-1) unstable; urgency=low + + * New upstream version: + + support for a few new executable formats, like arm/pe, linux elf/amd64, + linux elf/ppc32, mach/ppc32, bootable Linux kernels ("vmlinuz/386"), + Playstation exes ("ps1/exe") + + new options for compression tuning (e.g. '--brute') + + improved win32/pe compatibility + + direct ELF-to-memory decompression. + * Update package description. + * Add build dependency on zlib1g-dev, remove unneeded dependency on man-db. + * Use debhelper v5. + * Standards-Version: 3.7.0. + + -- Robert Luberda Mon, 1 May 2006 18:09:52 +0200 + +upx-ucl (1.25-5) unstable; urgency=low + + * debian/doc-base: change section to Apps/Tools (closes: #335075). + + -- Robert Luberda Sat, 22 Oct 2005 20:08:00 +0200 + +upx-ucl (1.25-4) unstable; urgency=low + + * Rebuild for g++ transition. + * Standards-Version: 3.6.2 (no changes). + + -- Robert Luberda Sun, 7 Aug 2005 22:01:10 +0200 + +upx-ucl (1.25-3) unstable; urgency=low + + * Try to fix problem with compling on arm. + + -- Robert Luberda Sun, 10 Oct 2004 20:48:04 +0200 + +upx-ucl (1.25-2) unstable; urgency=low + + * Upload to unstable. + * Fix typo in debian/watch file. + + -- Robert Luberda Tue, 28 Sep 2004 21:34:32 +0200 + +upx-ucl (1.25-1) experimental; urgency=low + + * New upstream version: + + build with libucl-dev 1.03-1 + * Standards-Version: 3.6.1 (no changes). + * Add debian/watch file. + * Add lintian source override file for `cvsignore-file-in-source'. + * Add homepage link to the package description. + + -- Robert Luberda Mon, 26 Jul 2004 21:00:43 +0200 + +upx-ucl (1.24-2) unstable; urgency=low + + * Rebuild with g++-3.2 for C++ transition. + * Standards-Version: 3.5.8 (no changes). + * Reformat this changelog with `fmt -80 -s' to get rid of too long lines. + + -- Robert Luberda Sat, 18 Jan 2003 16:10:53 +0100 + +upx-ucl (1.24-1) unstable; urgency=low + + * New upstream version. + + -- Robert Luberda Sat, 16 Nov 2002 10:53:14 +0100 + +upx-ucl (1.23-2) unstable; urgency=low + + * doc/upx.pod: We don't include the LICENSE file in the package, + so replace all references to this file with references + to /usr/share/doc/upx-ucl/copyright. (see: #161647). + + -- Robert Luberda Sun, 29 Sep 2002 14:41:57 +0200 + +upx-ucl (1.23-1) unstable; urgency=low + + * New upstream version. + * Standards-Version: 3.5.7 + * Support DEB_BUILD_OPTIONS=noopt,nostrip + * Build with debhelper v4. + + -- Robert Luberda Thu, 12 Sep 2002 22:11:17 +0200 + +upx-ucl (1.22-1) unstable; urgency=low + + * New upstream version. + + -- Robert Luberda Tue, 2 Jul 2002 20:19:29 +0200 + +upx-ucl (1.21-2) unstable; urgency=low + + * Fix problem with building the package on archs other than i386. + + -- Robert Luberda Tue, 4 Jun 2002 21:15:23 +0200 + +upx-ucl (1.21-1) unstable; urgency=low + + * New upstream version. + * Use debhelper v4. + * Update copyright file. + + -- Robert Luberda Mon, 3 Jun 2002 21:32:18 +0200 + +upx-ucl (1.20-2) unstable; urgency=low + + * Rebuild with the newset libucl-dev to get proper dependency on libucl0. + * Better handle update-alternatives in postinst & prerm scripts. + * Updated dh_upx, based on the newest dh_strip. + + -- Robert Luberda Thu, 4 Apr 2002 07:04:24 +0200 + +upx-ucl (1.20-1) unstable; urgency=low + + * New upstream version. + * Added support for DEB_BUILD_OPTIONS. + * Standards-Version: 3.5.6 + * Don't include UCL source in source package, build-depends on libucl + instead. + * Removed build dependency on automake. + * Updated README.Debian. + * Upgrade debian/rules to the newest debhelper. + * Closing NMU fixed bugs: closes: #128453, #131369. + + -- Robert Luberda Fri, 29 Mar 2002 00:32:50 +0100 + +upx-ucl (1.07-10) unstable; urgency=low + + * New maintainer (closes: #136971). + + -- Robert Luberda Thu, 28 Mar 2002 02:15:29 +0100 + +upx-ucl (1.07-9.1) unstable; urgency=low + + * NMU + * This package builds on most architectures. Don't hardcode things + to make it not build elsewhere. Closes: #128453, #131369 + + -- Randolph Chung Mon, 28 Jan 2002 21:02:19 -0800 + +upx-ucl (1.07-9) unstable; urgency=low + + * no idea what sparc's problem (with groff-base) is, but I wanted to drop + the PS docs though. Closes: #116395 + + -- Eduard Bloch Sat, 20 Oct 2001 21:38:47 +0200 + +upx-ucl (1.07-8) unstable; urgency=low + + * better automake dependency, closes: #116218 + * dependency on gcc-2.95, gcc-3.0 is still broken + * cosmetical fixes + + -- Eduard Bloch Fri, 19 Oct 2001 11:51:08 +0200 + +upx-ucl (1.07-7) unstable; urgency=low + + * added architecture test to dh_upx. prevents compressing if the + target architecture is not i386/linux. + * UPX compresses himself if dh_upx works + + -- Eduard Bloch Tue, 17 Apr 2001 01:45:46 +0200 + +upx-ucl (1.07-6) unstable; urgency=low + + * discovered bugs in dh_upx and fixed them + + -- Eduard Bloch Mon, 16 Apr 2001 18:41:10 +0200 + +upx-ucl (1.07-5) unstable; urgency=low + + * limited number of Architectures to i386, m68k, sparc and powerpc. + These seem to be the only plattforms where upx compiles. Prevention + of RC bug reports. + * wrote dh_upx, based on dh_strip. Changed control file to provide + dh-upx. For possible changes in the future. + * removed developer docs, not needed for end-users + * fixed the clean rule to remove _all_ generated docs + + -- Eduard Bloch Mon, 16 Apr 2001 15:49:47 +0200 + +upx-ucl (1.07-4) unstable; urgency=low + + * tested compilation on misc. architectures. Unfortunately, the build + fails on architectures other than i386, sparc and ppc. + * changed arch back to any + + -- Eduard Bloch Sun, 1 Apr 2001 23:47:48 +0200 + +upx-ucl (1.07-3) unstable; urgency=low + + * set arch to i386 only. Closes: #92408 + * changed Makefile to remove pentium dependency + + -- Eduard Bloch Sun, 1 Apr 2001 10:34:48 +0200 + +upx-ucl (1.07-2) unstable; urgency=low + + * changed section to unstable + + -- Eduard Bloch Fri, 16 Mar 2001 17:30:10 +0100 + +upx-ucl (1.07-1) stable; urgency=low + + * new upstream version + * mixed with ucl-0.92 + + -- Eduard Bloch Sat, 10 Mar 2001 22:59:58 +0100 + +upx (1.01-5) stable; urgency=low + + * Major changes after discussion with the upstream author. ucl is + integrated into upx-ucl package, since it probably won't be used + anywhere else. + * Removed unused stuff from the ucl-package. + * Renamed to upx-ucl and created alternatives system, suggested by the + upstream author. + * Still looking for anyone to overtake it. + + -- Eduard Bloch Wed, 10 May 2000 22:32:54 +0200 + +upx (1.01-4) unstable; urgency=low + + * Changed the copyright again after having discussed it on debian-devel + ML. Still looking for a sponsor. + + -- Eduard Bloch Tue, 11 Apr 2000 9:30:10 +0200 + +upx (1.01-3) unstable; urgency=low + + * Updated again, changed the copyright file. This package should probably + go into the non-free section, since the LICENSE requires the compressed + binaries to be GPLed. + + -- Eduard Bloch Tue, 11 Apr 2000 11:48:33 +0200 + +upx (1.01-2) unstable; urgency=low + + * Updated. Fixed bugs. + + -- Eduard Bloch Mon, 10 Apr 2000 15:33:31 +0200 + +upx (1.01-1) unstable; urgency=low + + * Initial Release. + + -- Eduard Bloch Mon, 10 Apr 2000 15:33:31 +0200 --- upx-ucl-3.04.orig/debian/README.Debian +++ upx-ucl-3.04/debian/README.Debian @@ -0,0 +1,13 @@ +upx-ucl for Debian +------------------ + +UPX is an advanced executable file compressor. UPX will typically +reduce the file size of programs and DLLs by around 50%-70%, thus +reducing disk space, network load times, download times and +other distribution and storage costs. + +Programs and libraries compressed by UPX are completely self-contained +and run exactly as before, with no runtime or memory penalty for most +of the supported formats. + +This package is linked with the UCL library. --- upx-ucl-3.04.orig/debian/control +++ upx-ucl-3.04/debian/control @@ -0,0 +1,20 @@ +Source: upx-ucl +Section: utils +Priority: optional +Maintainer: Robert Luberda +Standards-Version: 3.8.3 +Build-Depends: debhelper (>= 7), libucl-dev (>= 1.03), zlib1g-dev (>= 1:1.1.4) + +Package: upx-ucl +Architecture: any +Provides: upx, dh-upx +Depends: ${shlibs:Depends} +Description: an efficient live-compressor for executables + UPX is an advanced executable file compressor. UPX will typically + reduce the file size of programs and DLLs by around 50%-70%, thus + reducing disk space, network load times, download times etc. The + current version can compress executables for DOS, Linux/ELF (i386, + amd64, ppc32) and some other files for different OS. + . + NOTE: This package is based on the UCL library, which is licensed under GPL. +Homepage: http://upx.sourceforge.net/ --- upx-ucl-3.04.orig/debian/rules +++ upx-ucl-3.04/debian/rules @@ -0,0 +1,119 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# This file is public domain software, originally written by Joey Hess. +# $Id: rules 541 2009-10-15 10:54:57Z robert $ +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 +export PATH := /home/robert/bin/gcc-4.4:$(PATH) + +CC := gcc +CXX := g++ +package := $(shell dh_listpackages) + +BIG_ENDIAN_ARCHS := hppa ia64 sparc +DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) + +export DESTDIR := $(CURDIR)/debian/$(package) + +CXXFLAGS := -DWITH_UCL -g +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CXXFLAGS += -O2 +else + CXXFLAGS += -O0 +endif + + +ifneq (,$(findstring $(DEB_BUILD_ARCH), $(BIG_ENDIAN_ARCHS))) + CXXFLAGS += -D__BIG_ENDIAN__=1 + CPPFLAGS += -D__BIG_ENDIAN__=1 +endif + + +ifeq (0,1) + CXXFLAGS += -I $(I) + LDFLAGS += -L $(L) +endif + +build: build-stamp +build-stamp: + dh_testdir + + # Add here commands to compile the package. + @echo "Starting build process ($(DEB_BUILD_ARCH))" + UPX_UCLDIR=/none CC=$(CC) CXX=$(CXX) \ + CXXFLAGS="$(CXXFLAGS)" \ + CPPFLAGS="$(CPPFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + make exeext="" target=linux all + + cd doc && mv upx.1 $(package).1 +ifneq (, $(wildcard debian/dh_upx)) + pod2man -c " " -r "dh_upx" debian/dh_upx > doc/dh_upx.1 +endif + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + # Add here commands to clean up after the build process. + -make UPX_UCLDIR=/none \ + exeext="" \ + distclean + rm -rf doc/*.1 doc/*.ps + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + + # Add here commands to install the package into debian/ + install -pm 0755 src/upx $(DESTDIR)/usr/bin/$(package) +ifneq (, $(wildcard debian/dh_upx)) + install -pm 0755 debian/dh_upx $(DESTDIR)/usr/bin/ +endif + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs NEWS + dh_installdocs +# dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installcatalogs +# dh_installpam +# dh_installmime +# dh_installinit +# dh_installcron +# dh_installinfo +# dh_undocumented + dh_installman doc/*.1 +# dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_python +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- upx-ucl-3.04.orig/debian/compat +++ upx-ucl-3.04/debian/compat @@ -0,0 +1 @@ +7 --- upx-ucl-3.04.orig/debian/docs +++ upx-ucl-3.04/debian/docs @@ -0,0 +1,7 @@ +BUGS +PROJECTS +README +THANKS +TODO +doc/upx.html +doc/upx.doc --- upx-ucl-3.04.orig/debian/copyright +++ upx-ucl-3.04/debian/copyright @@ -0,0 +1,156 @@ +This package was debianized by Eduard Bloch on +Mon, 10 Apr 2000 15:33:31 +0200. +The package is currently maintained by Robert Luberda . + +It was downloaded from http://upx.sourceforge.net + +Upstream Authors: + Markus F.X.J. Oberhumer + Laszlo Molnar + +Copyright: + +UPX and UCL are copyrighted software distributed under the terms of the GNU +General Public License (hereinafter the "GPL"). On Debian GNU/Linux systems, +you can find a copy of the GPL in /usr/share/common-licenses/GPL-2. Read the +special license agreement below if you plan to use UPX for programs which are +not distributed under the terms of the GPL. + +-----BEGIN PGP SIGNED MESSAGE----- + + + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar + http://wildsau.idv.uni-linz.ac.at/mfx/upx.html + http://www.nexus.hu/upx + http://upx.tsx.org + + +PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN +TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION. + + +ABSTRACT +======== + + UPX and UCL are copyrighted software distributed under the terms + of the GNU General Public License (hereinafter the "GPL"). + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + As a special exception we grant the free usage of UPX for all + executables, including commercial programs. + See below for details and restrictions. + + +COPYRIGHT +========= + + UPX and UCL are copyrighted software. All rights remain with the authors. + + UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + UPX is Copyright (C) 1996-2000 Laszlo Molnar + + UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + + +GNU GENERAL PUBLIC LICENSE +========================== + + UPX and the UCL library are free software; you can redistribute them + and/or modify them 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. + + UPX and UCL are distributed in the hope that they 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; see the file COPYING. + + +SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES +============================================ + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special + permission to freely use and distribute all UPX compressed programs + (including commercial ones), subject to the following restrictions: + + 1. You must compress your program with a completely unmodified UPX + version; either with our precompiled version, or (at your option) + with a self compiled version of the unmodified UPX sources as + distributed by us. + 2. This also implies that the UPX stub must be completely unmodfied, i.e. + the stub imbedded in your compressed program must be byte-identical + to the stub that is produced by the official unmodified UPX version. + 3. The decompressor and any other code from the stub must exclusively get + used by the unmodified UPX stub for decompressing your program at + program startup. No portion of the stub may get read, copied, + called or otherwise get used or accessed by your program. + + +ANNOTATIONS +=========== + + - You can use a modified UPX version or modified UPX stub only for + programs that are compatible with the GNU General Public License. + + - We grant you special permission to freely use and distribute all UPX + compressed programs. But any modification of the UPX stub (such as, + but not limited to, removing our copyright string or making your + program non-decompressible) will immediately revoke your right to + use and distribute a UPX compressed program. + + - UPX is not a software protection tool; by requiring that you use + the unmodified UPX version for your proprietary programs we + make sure that any user can decompress your program. This protects + both you and your users as nobody can hide malicious code - + any program that cannot be decompressed is highly suspicious + by definition. + + - You can integrate all or part of UPX and UCL into projects that + are compatible with the GNU GPL, but obviously you cannot grant + any special exceptions beyond the GPL for our code in your project. + + - We want to actively support manufacturers of virus scanners and + similar security software. Please contact us if you would like to + incorporate parts of UPX or UCL into such a product. + + + +Markus F.X.J. Oberhumer Laszlo Molnar +markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu + +Linz, Austria, 25 Feb 2000 + + + +-----BEGIN PGP SIGNATURE----- +Version: 2.6.3ia +Charset: noconv + +iQCVAwUBOLaLS210fyLu8beJAQFYVAP/ShzENWKLTvedLCjZbDcwaBEHfUVcrGMI +wE7frMkbWT2zmkdv9hW90WmjMhOBu7yhUplvN8BKOtLiolEnZmLCYu8AGCwr5wBf +dfLoClxnzfTtgQv5axF1awp4RwCUH3hf4cDrOVqmAsWXKPHtm4hx96jF6L4oHhjx +OO03+ojZdO8= +=CS52 +-----END PGP SIGNATURE----- --- upx-ucl-3.04.orig/debian/watch +++ upx-ucl-3.04/debian/watch @@ -0,0 +1,4 @@ +# control file for the uscan(1) tool +version=2 +http://upx.sourceforge.net/ \ + (?:.*/)upx-([\d\.]+)-src\.tar\.(gz|bz2) --- upx-ucl-3.04.orig/debian/postinst +++ upx-ucl-3.04/debian/postinst @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +update_alt() +{ +# arguments: link program priority + if ! update-alternatives --display "$1" | grep -q "^/usr/bin/$2" ; then + update-alternatives --install "/usr/bin/$1" "$1" "/usr/bin/$2" "$3" \ + --slave "/usr/share/man/man1/$1.1.gz" "$1.1.gz" \ + "/usr/share/man/man1/$2.1.gz" + fi +} + + +if [ "$1" = "configure" ] ; then + update_alt upx upx-ucl 30 +fi + +#DEBHELPER# + +exit 0 --- upx-ucl-3.04.orig/debian/doc-base +++ upx-ucl-3.04/debian/doc-base @@ -0,0 +1,13 @@ +Document: upx-ucl +Title: Miscelanous upx(ucl) documentation +Author: Markus F.X.J. Oberhumer & Laszlo Molnar +Abstract: This document is the documentation for upx + compression utility (ucl-version). +Section: File Management + +Format: HTML +Index: /usr/share/doc/upx-ucl/upx.html +Files: /usr/share/doc/upx-ucl/upx.html + +Format: text +Files: /usr/share/doc/upx-ucl/upx.doc.gz --- upx-ucl-3.04.orig/src/msg.cpp +++ upx-ucl-3.04/src/msg.cpp @@ -57,7 +57,7 @@ fflush(stdout); fflush(stderr); if (f == NULL) f = stdout; - con_fprintf(f,clear_line_msg); + con_fprintf(f, "%s", clear_line_msg); fflush(f); printSetNl(0); } --- upx-ucl-3.04.orig/src/p_mach.cpp +++ upx-ucl-3.04/src/p_mach.cpp @@ -1170,6 +1170,7 @@ ph.u_file_size = fat_head.arch[j].size; fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size); + fi->seek(0, SEEK_SET); switch (fat_head.arch[j].cputype) { case PackMachFat::CPU_TYPE_I386: { typedef N_Mach::Mach_header Mach_header; @@ -1237,6 +1238,7 @@ ph.u_file_size = fat_head.arch[j].size; fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size); + fi->seek(0, SEEK_SET); switch (fat_head.arch[j].cputype) { case PackMachFat::CPU_TYPE_I386: { N_Mach::Mach_header hdr; @@ -1294,6 +1296,7 @@ } for (unsigned j=0; j < fat_head.fat.nfat_arch; ++j) { fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size); + fi->seek(0, SEEK_SET); switch (arch[j].cputype) { default: return false; case PackMachFat::CPU_TYPE_I386: { @@ -1335,6 +1338,7 @@ } for (unsigned j=0; j < fat_head.fat.nfat_arch; ++j) { fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size); + fi->seek(0, SEEK_SET); switch (arch[j].cputype) { default: return false; case PackMachFat::CPU_TYPE_I386: { --- upx-ucl-3.04.orig/src/Makefile +++ upx-ucl-3.04/src/Makefile @@ -36,7 +36,7 @@ ifeq ($(DEBUG),1) CXXFLAGS += -O0 -g else -CXXFLAGS += -O2 +##CXXFLAGS += 2 endif CXXFLAGS += -Wall -W -Wcast-align -Wcast-qual -Wpointer-arith -Wwrite-strings -Werror ##CXXFLAGS += -Wshadow --- upx-ucl-3.04.orig/doc/upx.pod +++ upx-ucl-3.04/doc/upx.pod @@ -24,7 +24,7 @@ because of in-place decompression. While you may use B freely for both non-commercial and commercial -executables (for details see the file LICENSE), we would highly +executables (for details see the file /usr/share/doc/upx-ucl/copyright), we would highly appreciate if you credit B and ourselves in the documentation, possibly including a reference to the B home page. Thanks. @@ -35,7 +35,7 @@ =head1 DISCLAIMER -B comes with ABSOLUTELY NO WARRANTY; for details see the file LICENSE. +B comes with ABSOLUTELY NO WARRANTY; for details see the file /usr/share/doc/upx-ucl/copyright. This is the first production quality release, and we plan that future 1.xx releases will be backward compatible with this version. @@ -950,5 +950,5 @@ B for more details. You should have received a copy of the UPX License Agreement along -with this program; see the file LICENSE. If not, visit the UPX home page. +with this program; see the file /usr/share/doc/upx-ucl/copyright. If not, visit the UPX home page.