From 2a5bbcedee82f3bf1fba5e812e2f178db6225489 Mon Sep 17 00:00:00 2001 From: Frans Meulenbroeks Date: Sun, 15 Aug 2010 09:51:33 +0200 Subject: zziplib moved files dir to zziplib Signed-off-by: Frans Meulenbroeks --- recipes/zziplib/files/automake.patch | 23 -- recipes/zziplib/files/zip_c.patch | 15 - recipes/zziplib/files/zziplib-autoconf.patch | 509 ------------------------- recipes/zziplib/zziplib/automake.patch | 23 ++ recipes/zziplib/zziplib/zip_c.patch | 15 + recipes/zziplib/zziplib/zziplib-autoconf.patch | 509 +++++++++++++++++++++++++ 6 files changed, 547 insertions(+), 547 deletions(-) delete mode 100644 recipes/zziplib/files/automake.patch delete mode 100644 recipes/zziplib/files/zip_c.patch delete mode 100644 recipes/zziplib/files/zziplib-autoconf.patch create mode 100644 recipes/zziplib/zziplib/automake.patch create mode 100644 recipes/zziplib/zziplib/zip_c.patch create mode 100644 recipes/zziplib/zziplib/zziplib-autoconf.patch diff --git a/recipes/zziplib/files/automake.patch b/recipes/zziplib/files/automake.patch deleted file mode 100644 index aeba741ae2..0000000000 --- a/recipes/zziplib/files/automake.patch +++ /dev/null @@ -1,23 +0,0 @@ -Index: zziplib-0.13.49/zzip/Makefile.am -=================================================================== ---- zziplib-0.13.49.orig/zzip/Makefile.am 2010-06-07 02:16:47.749129902 +0200 -+++ zziplib-0.13.49/zzip/Makefile.am 2010-06-07 02:17:08.932466913 +0200 -@@ -44,14 +44,14 @@ - $(THREAD_SAFE) - libzzip_la_LIBADD= -lz @RESOLVES@ - --libzzipmmapped_la_SOURCES = mmapped.c memdisk.c fetch.c --libzzipmmapped_la_headers = mmapped.h memdisk.h fetch.h -+libzzipmmapped_la_SOURCES = mmapped.c memdisk.c fetch.c fetch.h -+libzzipmmapped_la_headers = mmapped.h memdisk.h - libzzipmmapped_la_LDFLAGS= @ZZIPLIB_LDFLAGS@ $(RELEASE_INFO) $(VERSION_INFO) \ - $(THREAD_SAFE) - libzzipmmapped_la_LIBADD= -lz @RESOLVES@ - --libzzipfseeko_la_SOURCES = fseeko.c fetch.c --libzzipfseeko_la_headers = fseeko.h fetch.h -+libzzipfseeko_la_SOURCES = fseeko.c fetch.c fetch.h -+libzzipfseeko_la_headers = fseeko.h - libzzipfseeko_la_LDFLAGS= @ZZIPLIB_LDFLAGS@ $(RELEASE_INFO) $(VERSION_INFO) \ - $(THREAD_SAFE) - libzzipfseeko_la_LIBADD= -lz @RESOLVES@ diff --git a/recipes/zziplib/files/zip_c.patch b/recipes/zziplib/files/zip_c.patch deleted file mode 100644 index fb23ce650e..0000000000 --- a/recipes/zziplib/files/zip_c.patch +++ /dev/null @@ -1,15 +0,0 @@ -From zziplib Debian source package ---- a/zzip/zip.c 2007-03-19 02:27:49.000000000 +1100 -+++ b/zzip/zip.c 2007-11-07 17:40:52.985849197 +1100 -@@ -402,7 +402,10 @@ - uint16_t u_extras, u_comment, u_namlen; - - if (fd_map) -- { d = (void*)(fd_map+zz_fd_gap+zz_offset); } /* fd_map+fd_gap==u_rootseek */ -+ { -+ d = &dirent; -+ memcpy(d, fd_map+zz_fd_gap+zz_offset, sizeof(*d)); /* fd_map+fd_gap==u_rootseek */ -+ } - else - { - if (io->fd.seeks(fd, zz_rootseek+zz_offset, SEEK_SET) < 0) diff --git a/recipes/zziplib/files/zziplib-autoconf.patch b/recipes/zziplib/files/zziplib-autoconf.patch deleted file mode 100644 index 6fc666f8f2..0000000000 --- a/recipes/zziplib/files/zziplib-autoconf.patch +++ /dev/null @@ -1,509 +0,0 @@ -Reworks zziplib's configure and top-level makefile considerably to make -this package compile in a cross-compilation environment. This has not -and will not be sent upstream because the author most likely wants it that -way (lots of MSVC crap). - -Index: zziplib-0.13.49/Makefile.am -=================================================================== ---- zziplib-0.13.49.orig/Makefile.am 2008-02-19 22:54:19.000000000 +0100 -+++ zziplib-0.13.49/Makefile.am 2008-02-19 23:37:40.000000000 +0100 -@@ -1,126 +1,10 @@ --AUTOMAKE_OPTIONS = 1.4 foreign dist-bzip2 - ACLOCAL_AMFLAGS = -I m4 --WANT_AUTOMAKE = 1.7 --WANT_AUTOCONF = 2.57 -+WANT_AUTOMAKE = 1.96 -+WANT_AUTOCONF = 2.61 - - DIST_SUBDIRS = zzip zzipwrap bins test docs SDL - SUBDIRS = zzip zzipwrap bins test docs @SDL@ - --# see Makefile.mk for the "make rpm" target --rpm2: dist-bzip2 $(PACKAGE).spec -- rpmbuild -ta $(PACKAGE)-$(VERSION).tar.bz2 -- --indent-check: -- (cd zzip && $(MAKE) `basename $@`) -- --doc docs docu clean-doc clean-docs clean-docu zzip.html zzip.xml zzip.pdf \ --man mans manpages htmpages unpack clean-unpack changes.htm pdfs \ --omf install-omf install-doc install-docs install-sf install-man3 install-mans : -- (cd docs && $(MAKE) `basename $@`) -- --sdl testsdl test-sdl install-sdl : -- (cd SDL && $(MAKE) `basename $@`) -- --check-test0 check-test1 check-zzdir check-zzcat \ --check-zzxor check-zzxordir check-zzxorcat \ --check-sfx check-readme : \ -- (cd test && $(MAKE) `basename $@`) -- --MSVC8 = msvc8/README.TXT msvc8/zip.exe msvc8/test1.zip msvc8/test.zip \ --msvc8/zzdir.vcproj msvc8/zzipself.vcproj msvc8/zzip.vcproj \ --msvc8/zziplib.sln msvc8/zzipsetstub.sln msvc8/zzobfuscated.sln \ --msvc8/zziplib.vcproj msvc8/zzipsetstub.vcproj msvc8/zzobfuscated.vcproj \ --msvc8/zzcat.sln msvc8/zzipself.bat msvc8/zzip.sln \ --msvc8/zzcat.vcproj msvc8/zzipself.sln msvc8/zziptest.sln \ --msvc8/zzdir.sln msvc8/zzipself.txt msvc8/zziptest.vcproj \ -- msvc8/zzipfseeko.vcproj msvc8/zzipmmapped.vcproj -- --MSVC7 = msvc7/pkzip.exe msvc7/test1.zip msvc7/test.zip \ --msvc7/zzdir.vcproj msvc7/zzipself.vcproj msvc7/zzip.vcproj \ --msvc7/zziplib.sln msvc7/zzipsetstub.sln msvc7/zzobfuscated.sln \ --msvc7/zziplib.vcproj msvc7/zzipsetstub.vcproj msvc7/zzobfuscated.vcproj \ --msvc7/zzcat.sln msvc7/zzipself.bat msvc7/zzip.sln \ --msvc7/zzcat.vcproj msvc7/zzipself.sln msvc7/zziptest.sln \ --msvc7/zzdir.sln msvc7/zzipself.txt msvc7/zziptest.vcproj -- --MSVC6 = \ --msvc6/zzcat.dsp msvc6/zziplib.dsp msvc6/zzipwrap.dsp \ --msvc6/zzdir.dsp msvc6/zziplib.dsw msvc6/zzobfuscated.dsp \ --msvc6/zziptest.dsp msvc6/zzip.dsp -- - EXTRA_DIST = zziplib.spec zzipback.sed Makefile.mk \ -- $(MSVC8) $(MSVC7) $(MSVC6) $(am__aclocal_m4_deps) -- --PHONY = auto boottrap rpm doc docs man manpages htmpages sdl testsdl \ -- comp compats msvc6 msvc7 --# ------------------------------------------------------------------------ -- --test-comp: -- test ! -d testing || rm -r testing -- mkdir testing -- (cd testing && tar xzvf ../$(PACKAGE)-$(VERSION).tar.gz) -- (cd "testing/$(PACKAGE)-$(VERSION)/zziplib" && sh configure) -- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib" -- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib" check -- --clean-comp: -- test ! -d testing || rm -r testing -- --msvc : -- mkdir bin -- mkdir lib -- mkdir include -- mkdir include/zzip -- cp $(srcdir)/msvc6/Release/*.exe bin/ -- cp $(srcdir)/msvc6/Release/*.dll bin/ -- cp $(srcdir)/msvc6/Release/*.lib lib/ -- cp $(srcdir)/zzip/*.h include/zzip/ -- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-bin.zip bin/ -- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-lib.zip lib/ include/ -- rm -r bin lib include -- --# ------------------------------------------------------------------ zzip64 --_FILE_OFFSET64 = -D_ZZIP_LARGEFILE -D_FILE_OFFSET_BITS=64 --_RELEASEINFO64 = "RELEASE_INFO=-release 0-64" -+ $(am__aclocal_m4_deps) - --zzip64-setup: zzip64-setup.tmp --zzip64-setup.tmp : zzip/Makefile zzip/_config.h zzip/.deps/* zzip/zziplib.pc -- - mkdir zzip64 -- cp -a zzip/Makefile zzip/_config.h zzip/.deps/ zzip/zziplib.pc zzip64/ -- date > zzip64.dir --zzip64-build: zzip64-build.tmp --zzip64-build.tmp : zzip64-setup.tmp $(top_srcdir)/zzip/* -- cd zzip64 && $(MAKE) "AM_CFLAGS=$(_FILE_OFFSET64)" $(_RELEASEINFO64) --zzip64-install: zzip64-install.tmp --zzip64-install.tmp : zzip64-build.tmp -- cd zzip64 && $(MAKE) install $(_RELEASEINFO64) -- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip64.so -- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip64.a -- cd $(DESTDIR)$(libdir) && \ -- sed -e 's/zzip.so/zzip64.so/' \ -- -e 's/zzip.a/zzip64.a/' libzzip.la > libzzip64.la -- cd $(DESTDIR)$(libdir)/pkgconfig && \ -- sed -e 's/largefile=/largefile= %_FILE_OFFSET64/' \ -- -e 's/-lzzip/-lzzip64/' \ -- -e 's/zziplib/zziplib64/' zziplib.pc > zziplib64.pc --zzip32-postinstall: -- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip32.so -- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip32.a -- cd $(DESTDIR)$(libdir) && ln -s libzzip32.so libzzip.so -- cd $(DESTDIR)$(libdir) && ln -s libzzip32.a libzzip.a -- cd $(DESTDIR)$(libdir) && \ -- sed -e 's/zzip.so/zzip32.so/' \ -- -e 's/zzip.a/zzip32.a/' libzzip.la > libzzip32.la -- cd $(DESTDIR)$(libdir)/pkgconfig && \ -- sed -e 's/-lzzip/-lzzip32/' \ -- -e 's/zziplib/zziplib32/' zziplib.pc > zziplib32.pc --zzip-postinstall: -- : "the 12.8x and 11.8x and 10.8x packages are all the same actually" -- cd $(DESTDIR)$(libdir) || exit 1 \ -- ; for i in libzzip*.so.1? ; do : \ -- ; v10=`echo $i | sed -e "s/.so.../.so.10/"` \ -- ; v11=`echo $i | sed -e "s/.so.../.so.11/"` \ -- ; v12=`echo $i | sed -e "s/.so.../.so.12/"` \ -- ; test ! -e $v10 && test -e $v12 && ln -s $v12 $v10 \ -- ; test ! -e $v12 && test -e $v10 && ln -s $v10 $v12 \ -- ; ln -s $v10 $v11 || true; done -Index: zziplib-0.13.49/configure.ac -=================================================================== ---- zziplib-0.13.49.orig/configure.ac 2008-02-15 21:56:37.000000000 +0100 -+++ zziplib-0.13.49/configure.ac 2008-02-19 23:43:05.000000000 +0100 -@@ -1,12 +1,12 @@ --AC_INIT(zziplib.spec) --AC_PREREQ(2.49) --AC_COPYRIGHT([Guido Draheim for ZZipLib.SF.net]) -+AC_PREREQ(2.61) -+AC_INIT([zziplib], [0.13.49], [Guido Draheim ]) -+AC_CANONICAL_TARGET -+AM_INIT_AUTOMAKE([foreign 1.9 dist-bzip2]) -+ -+AC_CONFIG_SRCDIR([zzip/zip.c]) - AC_REVISION($Revision: 1.9 $) --AC_CONFIG_AUX_DIR(uses) -+ - # ======================================================================= --AC_CANONICAL_SYSTEM --dnl AM_ENABLE_MULTILIB([Makefile],[$host]) --AX_ENABLE_BUILDDIR_UNAME - AC_SET_DEFAULT_PATHS_SYSTEM - # ----------------------------------------------------------------------- - AC_ARG_ENABLE(thread-safe,AC_HELP_STRING( -@@ -61,8 +61,6 @@ - AC_SUBST(ZLIB_INCL) - AC_SUBST(ZLIB_LDIR) - # ----------------------------------------------------------------------- --AX_SPEC_DEFAULTS --AM_INIT_AUTOMAKE($PACKAGE,$VERSION) - dnl test ".$CFLAGS" = "." && CFLAGS="" - AC_PROG_CC - dnl test ".$CFLAGS" = "." && test "$GCC" = "yes" && CFLAGS="-O3" -@@ -77,7 +75,7 @@ - sed -f $srcdir/zzip/_msvc.sed $srcdir/config.h.in >zzip/_msvc.in - AC_CONFIG_HEADERS([config.h]) - AX_PREFIX_CONFIG_H([zzip/_config.h],[zzip],[config.h]) --AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in]) -+#AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in]) - AM_MAINTAINER_MODE - - AX_CREATE_PKGCONFIG_INFO(dnl -Index: zziplib-0.13.49/install-sh -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ zziplib-0.13.49/install-sh 2008-02-19 23:43:36.000000000 +0100 -@@ -0,0 +1,323 @@ -+#!/bin/sh -+# install - install a program, script, or datafile -+ -+scriptversion=2005-05-14.22 -+ -+# This originates from X11R5 (mit/util/scripts/install.sh), which was -+# later released in X11R6 (xc/config/util/install.sh) with the -+# following copyright and license. -+# -+# Copyright (C) 1994 X Consortium -+# -+# Permission is hereby granted, free of charge, to any person obtaining a copy -+# of this software and associated documentation files (the "Software"), to -+# deal in the Software without restriction, including without limitation the -+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+# sell copies of the Software, and to permit persons to whom the Software is -+# furnished to do so, subject to the following conditions: -+# -+# The above copyright notice and this permission notice shall be included in -+# all copies or substantial portions of the Software. -+# -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -+# -+# Except as contained in this notice, the name of the X Consortium shall not -+# be used in advertising or otherwise to promote the sale, use or other deal- -+# ings in this Software without prior written authorization from the X Consor- -+# tium. -+# -+# -+# FSF changes to this file are in the public domain. -+# -+# Calling this script install-sh is preferred over install.sh, to prevent -+# `make' implicit rules from creating a file called install from it -+# when there is no Makefile. -+# -+# This script is compatible with the BSD install script, but was written -+# from scratch. It can only install one file at a time, a restriction -+# shared with many OS's install programs. -+ -+# set DOITPROG to echo to test this script -+ -+# Don't use :- since 4.3BSD and earlier shells don't like it. -+doit="${DOITPROG-}" -+ -+# put in absolute paths if you don't have them in your path; or use env. vars. -+ -+mvprog="${MVPROG-mv}" -+cpprog="${CPPROG-cp}" -+chmodprog="${CHMODPROG-chmod}" -+chownprog="${CHOWNPROG-chown}" -+chgrpprog="${CHGRPPROG-chgrp}" -+stripprog="${STRIPPROG-strip}" -+rmprog="${RMPROG-rm}" -+mkdirprog="${MKDIRPROG-mkdir}" -+ -+chmodcmd="$chmodprog 0755" -+chowncmd= -+chgrpcmd= -+stripcmd= -+rmcmd="$rmprog -f" -+mvcmd="$mvprog" -+src= -+dst= -+dir_arg= -+dstarg= -+no_target_directory= -+ -+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE -+ or: $0 [OPTION]... SRCFILES... DIRECTORY -+ or: $0 [OPTION]... -t DIRECTORY SRCFILES... -+ or: $0 [OPTION]... -d DIRECTORIES... -+ -+In the 1st form, copy SRCFILE to DSTFILE. -+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -+In the 4th, create DIRECTORIES. -+ -+Options: -+-c (ignored) -+-d create directories instead of installing files. -+-g GROUP $chgrpprog installed files to GROUP. -+-m MODE $chmodprog installed files to MODE. -+-o USER $chownprog installed files to USER. -+-s $stripprog installed files. -+-t DIRECTORY install into DIRECTORY. -+-T report an error if DSTFILE is a directory. -+--help display this help and exit. -+--version display version info and exit. -+ -+Environment variables override the default commands: -+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -+" -+ -+while test -n "$1"; do -+ case $1 in -+ -c) shift -+ continue;; -+ -+ -d) dir_arg=true -+ shift -+ continue;; -+ -+ -g) chgrpcmd="$chgrpprog $2" -+ shift -+ shift -+ continue;; -+ -+ --help) echo "$usage"; exit $?;; -+ -+ -m) chmodcmd="$chmodprog $2" -+ shift -+ shift -+ continue;; -+ -+ -o) chowncmd="$chownprog $2" -+ shift -+ shift -+ continue;; -+ -+ -s) stripcmd=$stripprog -+ shift -+ continue;; -+ -+ -t) dstarg=$2 -+ shift -+ shift -+ continue;; -+ -+ -T) no_target_directory=true -+ shift -+ continue;; -+ -+ --version) echo "$0 $scriptversion"; exit $?;; -+ -+ *) # When -d is used, all remaining arguments are directories to create. -+ # When -t is used, the destination is already specified. -+ test -n "$dir_arg$dstarg" && break -+ # Otherwise, the last argument is the destination. Remove it from $@. -+ for arg -+ do -+ if test -n "$dstarg"; then -+ # $@ is not empty: it contains at least $arg. -+ set fnord "$@" "$dstarg" -+ shift # fnord -+ fi -+ shift # arg -+ dstarg=$arg -+ done -+ break;; -+ esac -+done -+ -+if test -z "$1"; then -+ if test -z "$dir_arg"; then -+ echo "$0: no input file specified." >&2 -+ exit 1 -+ fi -+ # It's OK to call `install-sh -d' without argument. -+ # This can happen when creating conditional directories. -+ exit 0 -+fi -+ -+for src -+do -+ # Protect names starting with `-'. -+ case $src in -+ -*) src=./$src ;; -+ esac -+ -+ if test -n "$dir_arg"; then -+ dst=$src -+ src= -+ -+ if test -d "$dst"; then -+ mkdircmd=: -+ chmodcmd= -+ else -+ mkdircmd=$mkdirprog -+ fi -+ else -+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command -+ # might cause directories to be created, which would be especially bad -+ # if $src (and thus $dsttmp) contains '*'. -+ if test ! -f "$src" && test ! -d "$src"; then -+ echo "$0: $src does not exist." >&2 -+ exit 1 -+ fi -+ -+ if test -z "$dstarg"; then -+ echo "$0: no destination specified." >&2 -+ exit 1 -+ fi -+ -+ dst=$dstarg -+ # Protect names starting with `-'. -+ case $dst in -+ -*) dst=./$dst ;; -+ esac -+ -+ # If destination is a directory, append the input filename; won't work -+ # if double slashes aren't ignored. -+ if test -d "$dst"; then -+ if test -n "$no_target_directory"; then -+ echo "$0: $dstarg: Is a directory" >&2 -+ exit 1 -+ fi -+ dst=$dst/`basename "$src"` -+ fi -+ fi -+ -+ # This sed command emulates the dirname command. -+ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` -+ -+ # Make sure that the destination directory exists. -+ -+ # Skip lots of stat calls in the usual case. -+ if test ! -d "$dstdir"; then -+ defaultIFS=' -+ ' -+ IFS="${IFS-$defaultIFS}" -+ -+ oIFS=$IFS -+ # Some sh's can't handle IFS=/ for some reason. -+ IFS='%' -+ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` -+ shift -+ IFS=$oIFS -+ -+ pathcomp= -+ -+ while test $# -ne 0 ; do -+ pathcomp=$pathcomp$1 -+ shift -+ if test ! -d "$pathcomp"; then -+ $mkdirprog "$pathcomp" -+ # mkdir can fail with a `File exist' error in case several -+ # install-sh are creating the directory concurrently. This -+ # is OK. -+ test -d "$pathcomp" || exit -+ fi -+ pathcomp=$pathcomp/ -+ done -+ fi -+ -+ if test -n "$dir_arg"; then -+ $doit $mkdircmd "$dst" \ -+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ -+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ -+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ -+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } -+ -+ else -+ dstfile=`basename "$dst"` -+ -+ # Make a couple of temp file names in the proper directory. -+ dsttmp=$dstdir/_inst.$$_ -+ rmtmp=$dstdir/_rm.$$_ -+ -+ # Trap to clean up those temp files at exit. -+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 -+ trap '(exit $?); exit' 1 2 13 15 -+ -+ # Copy the file name to the temp name. -+ $doit $cpprog "$src" "$dsttmp" && -+ -+ # and set any options; do chmod last to preserve setuid bits. -+ # -+ # If any of these fail, we abort the whole thing. If we want to -+ # ignore errors from any of these, just make sure not to ignore -+ # errors from the above "$doit $cpprog $src $dsttmp" command. -+ # -+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ -+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ -+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ -+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && -+ -+ # Now rename the file to the real destination. -+ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ -+ || { -+ # The rename failed, perhaps because mv can't rename something else -+ # to itself, or perhaps because mv is so ancient that it does not -+ # support -f. -+ -+ # Now remove or move aside any old file at destination location. -+ # We try this two ways since rm can't unlink itself on some -+ # systems and the destination file might be busy for other -+ # reasons. In this case, the final cleanup might fail but the new -+ # file should still install successfully. -+ { -+ if test -f "$dstdir/$dstfile"; then -+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ -+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ -+ || { -+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 -+ (exit 1); exit 1 -+ } -+ else -+ : -+ fi -+ } && -+ -+ # Now rename the file to the real destination. -+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" -+ } -+ } -+ fi || { (exit 1); exit 1; } -+done -+ -+# The final little trick to "correctly" pass the exit status to the exit trap. -+{ -+ (exit 0); exit 0 -+} -+ -+# Local variables: -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "scriptversion=" -+# time-stamp-format: "%:y-%02m-%02d.%02H" -+# time-stamp-end: "$" -+# End: diff --git a/recipes/zziplib/zziplib/automake.patch b/recipes/zziplib/zziplib/automake.patch new file mode 100644 index 0000000000..aeba741ae2 --- /dev/null +++ b/recipes/zziplib/zziplib/automake.patch @@ -0,0 +1,23 @@ +Index: zziplib-0.13.49/zzip/Makefile.am +=================================================================== +--- zziplib-0.13.49.orig/zzip/Makefile.am 2010-06-07 02:16:47.749129902 +0200 ++++ zziplib-0.13.49/zzip/Makefile.am 2010-06-07 02:17:08.932466913 +0200 +@@ -44,14 +44,14 @@ + $(THREAD_SAFE) + libzzip_la_LIBADD= -lz @RESOLVES@ + +-libzzipmmapped_la_SOURCES = mmapped.c memdisk.c fetch.c +-libzzipmmapped_la_headers = mmapped.h memdisk.h fetch.h ++libzzipmmapped_la_SOURCES = mmapped.c memdisk.c fetch.c fetch.h ++libzzipmmapped_la_headers = mmapped.h memdisk.h + libzzipmmapped_la_LDFLAGS= @ZZIPLIB_LDFLAGS@ $(RELEASE_INFO) $(VERSION_INFO) \ + $(THREAD_SAFE) + libzzipmmapped_la_LIBADD= -lz @RESOLVES@ + +-libzzipfseeko_la_SOURCES = fseeko.c fetch.c +-libzzipfseeko_la_headers = fseeko.h fetch.h ++libzzipfseeko_la_SOURCES = fseeko.c fetch.c fetch.h ++libzzipfseeko_la_headers = fseeko.h + libzzipfseeko_la_LDFLAGS= @ZZIPLIB_LDFLAGS@ $(RELEASE_INFO) $(VERSION_INFO) \ + $(THREAD_SAFE) + libzzipfseeko_la_LIBADD= -lz @RESOLVES@ diff --git a/recipes/zziplib/zziplib/zip_c.patch b/recipes/zziplib/zziplib/zip_c.patch new file mode 100644 index 0000000000..fb23ce650e --- /dev/null +++ b/recipes/zziplib/zziplib/zip_c.patch @@ -0,0 +1,15 @@ +From zziplib Debian source package +--- a/zzip/zip.c 2007-03-19 02:27:49.000000000 +1100 ++++ b/zzip/zip.c 2007-11-07 17:40:52.985849197 +1100 +@@ -402,7 +402,10 @@ + uint16_t u_extras, u_comment, u_namlen; + + if (fd_map) +- { d = (void*)(fd_map+zz_fd_gap+zz_offset); } /* fd_map+fd_gap==u_rootseek */ ++ { ++ d = &dirent; ++ memcpy(d, fd_map+zz_fd_gap+zz_offset, sizeof(*d)); /* fd_map+fd_gap==u_rootseek */ ++ } + else + { + if (io->fd.seeks(fd, zz_rootseek+zz_offset, SEEK_SET) < 0) diff --git a/recipes/zziplib/zziplib/zziplib-autoconf.patch b/recipes/zziplib/zziplib/zziplib-autoconf.patch new file mode 100644 index 0000000000..6fc666f8f2 --- /dev/null +++ b/recipes/zziplib/zziplib/zziplib-autoconf.patch @@ -0,0 +1,509 @@ +Reworks zziplib's configure and top-level makefile considerably to make +this package compile in a cross-compilation environment. This has not +and will not be sent upstream because the author most likely wants it that +way (lots of MSVC crap). + +Index: zziplib-0.13.49/Makefile.am +=================================================================== +--- zziplib-0.13.49.orig/Makefile.am 2008-02-19 22:54:19.000000000 +0100 ++++ zziplib-0.13.49/Makefile.am 2008-02-19 23:37:40.000000000 +0100 +@@ -1,126 +1,10 @@ +-AUTOMAKE_OPTIONS = 1.4 foreign dist-bzip2 + ACLOCAL_AMFLAGS = -I m4 +-WANT_AUTOMAKE = 1.7 +-WANT_AUTOCONF = 2.57 ++WANT_AUTOMAKE = 1.96 ++WANT_AUTOCONF = 2.61 + + DIST_SUBDIRS = zzip zzipwrap bins test docs SDL + SUBDIRS = zzip zzipwrap bins test docs @SDL@ + +-# see Makefile.mk for the "make rpm" target +-rpm2: dist-bzip2 $(PACKAGE).spec +- rpmbuild -ta $(PACKAGE)-$(VERSION).tar.bz2 +- +-indent-check: +- (cd zzip && $(MAKE) `basename $@`) +- +-doc docs docu clean-doc clean-docs clean-docu zzip.html zzip.xml zzip.pdf \ +-man mans manpages htmpages unpack clean-unpack changes.htm pdfs \ +-omf install-omf install-doc install-docs install-sf install-man3 install-mans : +- (cd docs && $(MAKE) `basename $@`) +- +-sdl testsdl test-sdl install-sdl : +- (cd SDL && $(MAKE) `basename $@`) +- +-check-test0 check-test1 check-zzdir check-zzcat \ +-check-zzxor check-zzxordir check-zzxorcat \ +-check-sfx check-readme : \ +- (cd test && $(MAKE) `basename $@`) +- +-MSVC8 = msvc8/README.TXT msvc8/zip.exe msvc8/test1.zip msvc8/test.zip \ +-msvc8/zzdir.vcproj msvc8/zzipself.vcproj msvc8/zzip.vcproj \ +-msvc8/zziplib.sln msvc8/zzipsetstub.sln msvc8/zzobfuscated.sln \ +-msvc8/zziplib.vcproj msvc8/zzipsetstub.vcproj msvc8/zzobfuscated.vcproj \ +-msvc8/zzcat.sln msvc8/zzipself.bat msvc8/zzip.sln \ +-msvc8/zzcat.vcproj msvc8/zzipself.sln msvc8/zziptest.sln \ +-msvc8/zzdir.sln msvc8/zzipself.txt msvc8/zziptest.vcproj \ +- msvc8/zzipfseeko.vcproj msvc8/zzipmmapped.vcproj +- +-MSVC7 = msvc7/pkzip.exe msvc7/test1.zip msvc7/test.zip \ +-msvc7/zzdir.vcproj msvc7/zzipself.vcproj msvc7/zzip.vcproj \ +-msvc7/zziplib.sln msvc7/zzipsetstub.sln msvc7/zzobfuscated.sln \ +-msvc7/zziplib.vcproj msvc7/zzipsetstub.vcproj msvc7/zzobfuscated.vcproj \ +-msvc7/zzcat.sln msvc7/zzipself.bat msvc7/zzip.sln \ +-msvc7/zzcat.vcproj msvc7/zzipself.sln msvc7/zziptest.sln \ +-msvc7/zzdir.sln msvc7/zzipself.txt msvc7/zziptest.vcproj +- +-MSVC6 = \ +-msvc6/zzcat.dsp msvc6/zziplib.dsp msvc6/zzipwrap.dsp \ +-msvc6/zzdir.dsp msvc6/zziplib.dsw msvc6/zzobfuscated.dsp \ +-msvc6/zziptest.dsp msvc6/zzip.dsp +- + EXTRA_DIST = zziplib.spec zzipback.sed Makefile.mk \ +- $(MSVC8) $(MSVC7) $(MSVC6) $(am__aclocal_m4_deps) +- +-PHONY = auto boottrap rpm doc docs man manpages htmpages sdl testsdl \ +- comp compats msvc6 msvc7 +-# ------------------------------------------------------------------------ +- +-test-comp: +- test ! -d testing || rm -r testing +- mkdir testing +- (cd testing && tar xzvf ../$(PACKAGE)-$(VERSION).tar.gz) +- (cd "testing/$(PACKAGE)-$(VERSION)/zziplib" && sh configure) +- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib" +- $(MAKE) -C "testing/$(PACKAGE)-$(VERSION)/zziplib" check +- +-clean-comp: +- test ! -d testing || rm -r testing +- +-msvc : +- mkdir bin +- mkdir lib +- mkdir include +- mkdir include/zzip +- cp $(srcdir)/msvc6/Release/*.exe bin/ +- cp $(srcdir)/msvc6/Release/*.dll bin/ +- cp $(srcdir)/msvc6/Release/*.lib lib/ +- cp $(srcdir)/zzip/*.h include/zzip/ +- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-bin.zip bin/ +- zip -9r $(srcdir)/$(PACKAGE)-$(VERSION)-msvc6-lib.zip lib/ include/ +- rm -r bin lib include +- +-# ------------------------------------------------------------------ zzip64 +-_FILE_OFFSET64 = -D_ZZIP_LARGEFILE -D_FILE_OFFSET_BITS=64 +-_RELEASEINFO64 = "RELEASE_INFO=-release 0-64" ++ $(am__aclocal_m4_deps) + +-zzip64-setup: zzip64-setup.tmp +-zzip64-setup.tmp : zzip/Makefile zzip/_config.h zzip/.deps/* zzip/zziplib.pc +- - mkdir zzip64 +- cp -a zzip/Makefile zzip/_config.h zzip/.deps/ zzip/zziplib.pc zzip64/ +- date > zzip64.dir +-zzip64-build: zzip64-build.tmp +-zzip64-build.tmp : zzip64-setup.tmp $(top_srcdir)/zzip/* +- cd zzip64 && $(MAKE) "AM_CFLAGS=$(_FILE_OFFSET64)" $(_RELEASEINFO64) +-zzip64-install: zzip64-install.tmp +-zzip64-install.tmp : zzip64-build.tmp +- cd zzip64 && $(MAKE) install $(_RELEASEINFO64) +- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip64.so +- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip64.a +- cd $(DESTDIR)$(libdir) && \ +- sed -e 's/zzip.so/zzip64.so/' \ +- -e 's/zzip.a/zzip64.a/' libzzip.la > libzzip64.la +- cd $(DESTDIR)$(libdir)/pkgconfig && \ +- sed -e 's/largefile=/largefile= %_FILE_OFFSET64/' \ +- -e 's/-lzzip/-lzzip64/' \ +- -e 's/zziplib/zziplib64/' zziplib.pc > zziplib64.pc +-zzip32-postinstall: +- cd $(DESTDIR)$(libdir) && mv libzzip.so libzzip32.so +- cd $(DESTDIR)$(libdir) && mv libzzip.a libzzip32.a +- cd $(DESTDIR)$(libdir) && ln -s libzzip32.so libzzip.so +- cd $(DESTDIR)$(libdir) && ln -s libzzip32.a libzzip.a +- cd $(DESTDIR)$(libdir) && \ +- sed -e 's/zzip.so/zzip32.so/' \ +- -e 's/zzip.a/zzip32.a/' libzzip.la > libzzip32.la +- cd $(DESTDIR)$(libdir)/pkgconfig && \ +- sed -e 's/-lzzip/-lzzip32/' \ +- -e 's/zziplib/zziplib32/' zziplib.pc > zziplib32.pc +-zzip-postinstall: +- : "the 12.8x and 11.8x and 10.8x packages are all the same actually" +- cd $(DESTDIR)$(libdir) || exit 1 \ +- ; for i in libzzip*.so.1? ; do : \ +- ; v10=`echo $i | sed -e "s/.so.../.so.10/"` \ +- ; v11=`echo $i | sed -e "s/.so.../.so.11/"` \ +- ; v12=`echo $i | sed -e "s/.so.../.so.12/"` \ +- ; test ! -e $v10 && test -e $v12 && ln -s $v12 $v10 \ +- ; test ! -e $v12 && test -e $v10 && ln -s $v10 $v12 \ +- ; ln -s $v10 $v11 || true; done +Index: zziplib-0.13.49/configure.ac +=================================================================== +--- zziplib-0.13.49.orig/configure.ac 2008-02-15 21:56:37.000000000 +0100 ++++ zziplib-0.13.49/configure.ac 2008-02-19 23:43:05.000000000 +0100 +@@ -1,12 +1,12 @@ +-AC_INIT(zziplib.spec) +-AC_PREREQ(2.49) +-AC_COPYRIGHT([Guido Draheim for ZZipLib.SF.net]) ++AC_PREREQ(2.61) ++AC_INIT([zziplib], [0.13.49], [Guido Draheim ]) ++AC_CANONICAL_TARGET ++AM_INIT_AUTOMAKE([foreign 1.9 dist-bzip2]) ++ ++AC_CONFIG_SRCDIR([zzip/zip.c]) + AC_REVISION($Revision: 1.9 $) +-AC_CONFIG_AUX_DIR(uses) ++ + # ======================================================================= +-AC_CANONICAL_SYSTEM +-dnl AM_ENABLE_MULTILIB([Makefile],[$host]) +-AX_ENABLE_BUILDDIR_UNAME + AC_SET_DEFAULT_PATHS_SYSTEM + # ----------------------------------------------------------------------- + AC_ARG_ENABLE(thread-safe,AC_HELP_STRING( +@@ -61,8 +61,6 @@ + AC_SUBST(ZLIB_INCL) + AC_SUBST(ZLIB_LDIR) + # ----------------------------------------------------------------------- +-AX_SPEC_DEFAULTS +-AM_INIT_AUTOMAKE($PACKAGE,$VERSION) + dnl test ".$CFLAGS" = "." && CFLAGS="" + AC_PROG_CC + dnl test ".$CFLAGS" = "." && test "$GCC" = "yes" && CFLAGS="-O3" +@@ -77,7 +75,7 @@ + sed -f $srcdir/zzip/_msvc.sed $srcdir/config.h.in >zzip/_msvc.in + AC_CONFIG_HEADERS([config.h]) + AX_PREFIX_CONFIG_H([zzip/_config.h],[zzip],[config.h]) +-AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in]) ++#AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in]) + AM_MAINTAINER_MODE + + AX_CREATE_PKGCONFIG_INFO(dnl +Index: zziplib-0.13.49/install-sh +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ zziplib-0.13.49/install-sh 2008-02-19 23:43:36.000000000 +0100 +@@ -0,0 +1,323 @@ ++#!/bin/sh ++# install - install a program, script, or datafile ++ ++scriptversion=2005-05-14.22 ++ ++# This originates from X11R5 (mit/util/scripts/install.sh), which was ++# later released in X11R6 (xc/config/util/install.sh) with the ++# following copyright and license. ++# ++# Copyright (C) 1994 X Consortium ++# ++# Permission is hereby granted, free of charge, to any person obtaining a copy ++# of this software and associated documentation files (the "Software"), to ++# deal in the Software without restriction, including without limitation the ++# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++# sell copies of the Software, and to permit persons to whom the Software is ++# furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice shall be included in ++# all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- ++# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++# ++# Except as contained in this notice, the name of the X Consortium shall not ++# be used in advertising or otherwise to promote the sale, use or other deal- ++# ings in this Software without prior written authorization from the X Consor- ++# tium. ++# ++# ++# FSF changes to this file are in the public domain. ++# ++# Calling this script install-sh is preferred over install.sh, to prevent ++# `make' implicit rules from creating a file called install from it ++# when there is no Makefile. ++# ++# This script is compatible with the BSD install script, but was written ++# from scratch. It can only install one file at a time, a restriction ++# shared with many OS's install programs. ++ ++# set DOITPROG to echo to test this script ++ ++# Don't use :- since 4.3BSD and earlier shells don't like it. ++doit="${DOITPROG-}" ++ ++# put in absolute paths if you don't have them in your path; or use env. vars. ++ ++mvprog="${MVPROG-mv}" ++cpprog="${CPPROG-cp}" ++chmodprog="${CHMODPROG-chmod}" ++chownprog="${CHOWNPROG-chown}" ++chgrpprog="${CHGRPPROG-chgrp}" ++stripprog="${STRIPPROG-strip}" ++rmprog="${RMPROG-rm}" ++mkdirprog="${MKDIRPROG-mkdir}" ++ ++chmodcmd="$chmodprog 0755" ++chowncmd= ++chgrpcmd= ++stripcmd= ++rmcmd="$rmprog -f" ++mvcmd="$mvprog" ++src= ++dst= ++dir_arg= ++dstarg= ++no_target_directory= ++ ++usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE ++ or: $0 [OPTION]... SRCFILES... DIRECTORY ++ or: $0 [OPTION]... -t DIRECTORY SRCFILES... ++ or: $0 [OPTION]... -d DIRECTORIES... ++ ++In the 1st form, copy SRCFILE to DSTFILE. ++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. ++In the 4th, create DIRECTORIES. ++ ++Options: ++-c (ignored) ++-d create directories instead of installing files. ++-g GROUP $chgrpprog installed files to GROUP. ++-m MODE $chmodprog installed files to MODE. ++-o USER $chownprog installed files to USER. ++-s $stripprog installed files. ++-t DIRECTORY install into DIRECTORY. ++-T report an error if DSTFILE is a directory. ++--help display this help and exit. ++--version display version info and exit. ++ ++Environment variables override the default commands: ++ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG ++" ++ ++while test -n "$1"; do ++ case $1 in ++ -c) shift ++ continue;; ++ ++ -d) dir_arg=true ++ shift ++ continue;; ++ ++ -g) chgrpcmd="$chgrpprog $2" ++ shift ++ shift ++ continue;; ++ ++ --help) echo "$usage"; exit $?;; ++ ++ -m) chmodcmd="$chmodprog $2" ++ shift ++ shift ++ continue;; ++ ++ -o) chowncmd="$chownprog $2" ++ shift ++ shift ++ continue;; ++ ++ -s) stripcmd=$stripprog ++ shift ++ continue;; ++ ++ -t) dstarg=$2 ++ shift ++ shift ++ continue;; ++ ++ -T) no_target_directory=true ++ shift ++ continue;; ++ ++ --version) echo "$0 $scriptversion"; exit $?;; ++ ++ *) # When -d is used, all remaining arguments are directories to create. ++ # When -t is used, the destination is already specified. ++ test -n "$dir_arg$dstarg" && break ++ # Otherwise, the last argument is the destination. Remove it from $@. ++ for arg ++ do ++ if test -n "$dstarg"; then ++ # $@ is not empty: it contains at least $arg. ++ set fnord "$@" "$dstarg" ++ shift # fnord ++ fi ++ shift # arg ++ dstarg=$arg ++ done ++ break;; ++ esac ++done ++ ++if test -z "$1"; then ++ if test -z "$dir_arg"; then ++ echo "$0: no input file specified." >&2 ++ exit 1 ++ fi ++ # It's OK to call `install-sh -d' without argument. ++ # This can happen when creating conditional directories. ++ exit 0 ++fi ++ ++for src ++do ++ # Protect names starting with `-'. ++ case $src in ++ -*) src=./$src ;; ++ esac ++ ++ if test -n "$dir_arg"; then ++ dst=$src ++ src= ++ ++ if test -d "$dst"; then ++ mkdircmd=: ++ chmodcmd= ++ else ++ mkdircmd=$mkdirprog ++ fi ++ else ++ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command ++ # might cause directories to be created, which would be especially bad ++ # if $src (and thus $dsttmp) contains '*'. ++ if test ! -f "$src" && test ! -d "$src"; then ++ echo "$0: $src does not exist." >&2 ++ exit 1 ++ fi ++ ++ if test -z "$dstarg"; then ++ echo "$0: no destination specified." >&2 ++ exit 1 ++ fi ++ ++ dst=$dstarg ++ # Protect names starting with `-'. ++ case $dst in ++ -*) dst=./$dst ;; ++ esac ++ ++ # If destination is a directory, append the input filename; won't work ++ # if double slashes aren't ignored. ++ if test -d "$dst"; then ++ if test -n "$no_target_directory"; then ++ echo "$0: $dstarg: Is a directory" >&2 ++ exit 1 ++ fi ++ dst=$dst/`basename "$src"` ++ fi ++ fi ++ ++ # This sed command emulates the dirname command. ++ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` ++ ++ # Make sure that the destination directory exists. ++ ++ # Skip lots of stat calls in the usual case. ++ if test ! -d "$dstdir"; then ++ defaultIFS=' ++ ' ++ IFS="${IFS-$defaultIFS}" ++ ++ oIFS=$IFS ++ # Some sh's can't handle IFS=/ for some reason. ++ IFS='%' ++ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` ++ shift ++ IFS=$oIFS ++ ++ pathcomp= ++ ++ while test $# -ne 0 ; do ++ pathcomp=$pathcomp$1 ++ shift ++ if test ! -d "$pathcomp"; then ++ $mkdirprog "$pathcomp" ++ # mkdir can fail with a `File exist' error in case several ++ # install-sh are creating the directory concurrently. This ++ # is OK. ++ test -d "$pathcomp" || exit ++ fi ++ pathcomp=$pathcomp/ ++ done ++ fi ++ ++ if test -n "$dir_arg"; then ++ $doit $mkdircmd "$dst" \ ++ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ ++ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ ++ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ ++ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } ++ ++ else ++ dstfile=`basename "$dst"` ++ ++ # Make a couple of temp file names in the proper directory. ++ dsttmp=$dstdir/_inst.$$_ ++ rmtmp=$dstdir/_rm.$$_ ++ ++ # Trap to clean up those temp files at exit. ++ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 ++ trap '(exit $?); exit' 1 2 13 15 ++ ++ # Copy the file name to the temp name. ++ $doit $cpprog "$src" "$dsttmp" && ++ ++ # and set any options; do chmod last to preserve setuid bits. ++ # ++ # If any of these fail, we abort the whole thing. If we want to ++ # ignore errors from any of these, just make sure not to ignore ++ # errors from the above "$doit $cpprog $src $dsttmp" command. ++ # ++ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ ++ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ ++ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ ++ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && ++ ++ # Now rename the file to the real destination. ++ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ ++ || { ++ # The rename failed, perhaps because mv can't rename something else ++ # to itself, or perhaps because mv is so ancient that it does not ++ # support -f. ++ ++ # Now remove or move aside any old file at destination location. ++ # We try this two ways since rm can't unlink itself on some ++ # systems and the destination file might be busy for other ++ # reasons. In this case, the final cleanup might fail but the new ++ # file should still install successfully. ++ { ++ if test -f "$dstdir/$dstfile"; then ++ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ ++ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ ++ || { ++ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 ++ (exit 1); exit 1 ++ } ++ else ++ : ++ fi ++ } && ++ ++ # Now rename the file to the real destination. ++ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" ++ } ++ } ++ fi || { (exit 1); exit 1; } ++done ++ ++# The final little trick to "correctly" pass the exit status to the exit trap. ++{ ++ (exit 0); exit 0 ++} ++ ++# Local variables: ++# eval: (add-hook 'write-file-hooks 'time-stamp) ++# time-stamp-start: "scriptversion=" ++# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-end: "$" ++# End: -- cgit 1.2.3-korg