d-shlibs-0.54ubuntu1/0000755000000000000000000000000012312061316011354 5ustar d-shlibs-0.54ubuntu1/ChangeLog0000644000000000000000000001774511042010442013135 0ustar 2008-07-24 Junichi Uekawa * d-devlibdeps: libpthread-stubs0-dev is handled specially for hurd, it is in libc package and no extra dependency info is required. 2008-02-27 Junichi Uekawa * d-shlibmove: support uppercase libnames to package names. 2007-09-04 Junichi Uekawa * d-shlibmove: * d-shlibmove.1: -ldb * d-devlibdeps: libgd2-dev -> libgd-dev 2007-03-29 Junichi Uekawa * d-devlibdeps: support libgthread and libxml2-dev 2006-08-03 Junichi Uekawa * d-devlibdeps: support gtk/glib/etc libs. 2006-07-31 Junichi Uekawa * d-shlibmove.1: --override. $ d-shlibmove --override s/zlib/libY/ /usr/lib/libxml2.so Library package automatic movement utility DEBUG: -es/zlib/libY/ devlibs error: There is no package matching [libY1g-dev] and noone provides it, please report bug to d-shlibs maintainer --> libc6-dev package exists. $ d-shlibmove --override s/zlib/libY/ --override s/libY/libQ/ /usr/lib/libxml2.so Library package automatic movement utility DEBUG: -es/zlib/libY/ DEBUG: -es/zlib/libY/ -es/libY/libQ/ devlibs error: There is no package matching [libQ1g-dev] and noone provides it, please report bug to d-shlibs maintainer --> libc6-dev package exists * d-shlibmove: --override option support. * d-devlibdeps: --override option support. $ ./d-devlibdeps --override s/libc6-dev/libcccc-dev/ /tmp/test /bin/sh DEBUG: -es/libc6-dev/libcccc-dev/ devlibs error: There is no package matching [libcccc-dev] and noone provides it, please report bug to d-shlibs maintainer --> libncurses5-dev package exists. $ ./d-devlibdeps /tmp/test /bin/sh --> libc6-dev package exists. --> libncurses5-dev package exists. * d-devlibdeps.1: document * d-devlibdeps: OVERRIDE support 2006-07-28 Junichi Uekawa * d-devlibdeps: add libspeex1-dev->libspeex-dev 2006-07-01 Junichi Uekawa * d-devlibdeps: add libpthread0.3-dev override for Hurd. 2005-08-30 Junichi Uekawa * d-devlibdeps: librt1-dev. 325416 2005-05-29 Junichi Uekawa * d-shlibmove: add pipefail * d-devlibdeps: rearrange to check for pipefail status, so that objdump -p failing is noticed. 2005-04-04 Junichi Uekawa * d-devlibdeps: handle libogg0-dev -> libogg-dev 2004-11-10 Junichi Uekawa * d-shlibmove.1: Remove mikilab mail address which was outdated. * d-devlibdeps.1: 2004-10-02 Junichi Uekawa * d-devlibdeps: applied patches that are accumulated. Thanks: Jonas Smedegaard Thanks: Robert Millan (kFreeBSD fixes) libpthread.*-dev -> libpthread-dev translation might cause breakage on some arches, please watch out. 2004-09-29 Junichi Uekawa * Makefile (test-build): Added a testsuite. 2004-08-17 Junichi Uekawa * d-devlibdeps: Add libcrypt/libnsl for alpha. 2003-07-29 Junichi Uekawa * d-devlibdeps: map libvorbis-dev request from Keegan Quinn 2003-07-03 Junichi Uekawa * d-devlibdeps: add libsdl1.2-dev request from Kalle Olavi Niemitalo 2003-05-11 Junichi Uekawa * d-devlibdeps: apply request from Andres Salomon to match libssl0.9.[67] to libssl-dev. 2003-04-05 Junichi Uekawa * Makefile (check): add check target, to check for errors in the shell scripting. * d-devlibdeps: little hackish, but ignore package that is going to be created from the same source package from validate_package 2003-04-02 Junichi Uekawa * d-shlibmove (CHECK_ERROR): allow libdevel section. 2003-03-25 Junichi Uekawa * d-devlibdeps: add libparted1.6 * debian/changelog: Add override from Martin Sj=F6gren, and merge NMU. 2003-01-30 Junichi Uekawa * d-devlibdeps: add patch from Jonas Smedegaard to support libcrypto 2003-01-27 Junichi Uekawa * d-devlibdeps (outputtmp): Add error checking using ERROR_DEVLIB special symbol inside devlibs. 2003-01-25 Junichi Uekawa * d-devlibdeps: validate_package function to validate the package. * d-devlibdeps.1: update and fix description line of manual page. 2003-01-24 Junichi Uekawa * d-devlibdeps: add override for libgcc_s1-dev, pointing to nowhere. 2003-01-20 Junichi Uekawa * d-devlibdeps: patch from Jonas Smedegaard , bug #177342 2003-01-11 Junichi Uekawa * d-shlibmove.1: document the new option. * d-shlibmove: --c102 option for C++ packages. Check that it conflicts with non-c102 package. 2002-12-15 Junichi Uekawa * d-devlibdeps: remove libc-dev reference, since it should be unnecessary and impossible to guess libc version from other libraries in the libc6 (or equivalent) package. 2002-11-25 Junichi Uekawa * d-devlibdeps: Apply patch from Jonas Smedegaard for Xpm4-dev 2002-10-22 Junichi Uekawa * d-shlibmove.1: update doc to specify which version a specific option was added. 2002-10-10 Junichi Uekawa * d-shlibmove (CHECK_ERROR): more quoting (DOIT): very much more quoting. * d-shlibmove.1: document the new option. * d-shlibmove (INSTALLDIR): add def for PKGDEV and PKGSHL inside the execscript (INSTALLDIR): quoting fixes (--movedevdoc): new option. 2002-09-01 Junichi Uekawa * d-devlibdeps: add libm6.1-dev override to libc-dev 2002-08-20 Junichi Uekawa * d-shlibmove: fix typo. use $INSTALLDIR instead of install -d * d-shlibmove.1: document --shlibs-local * d-shlibmove: add --shlibs-local 2002-08-15 Junichi Uekawa * d-shlibmove.1: update documentation, to document --suffix. * d-shlibmove: clean up code. (SUFFIX, DEVSUFFIX): define SUFFIX. --suffix and --devsuffix options. (CHECK_ERROR): check for conflicts: with package name without suffix, if suffix is appended. 2002-08-07 Junichi Uekawa * d-shlibmove: tolerate nonexisting .la file. * release 0.2 2002-05-07 Junichi Uekawa * debian/copyright: fix copyright text so that it looks more sane. * debian/README.Debian: update docs release 0.1 2002-05-04 Junichi Uekawa * d-shlibmove : --movedev/shl fix typo. * d-devlibdeps (outputtmp): fixed typo * d-shlibmove: add support for devlibdeps. * d-devlibdeps.1: Document the interface better. * d-devlibdeps: fixing many parts, and changing it into really usable content. add error checking etc. * debian/control (Depends): added depends on debianutils 1.6 for tempfile * d-devlibdeps (OUTPUTFILE): error fail on insufficient params * debian/changelog: add ITP close bug#. * d-devlibdeps: add copyright notice * d-shlibmove (CONTROL): remove debugging info. Copyright notice etc. added. * debian/docs: added ChangeLog * debian/README.Debian: some notes. * Makefile (install): mods. * debian/control: control is updated * debian/rules: fixing up some stuff. 2002-05-03 Junichi Uekawa * d-devlibdeps.1: created * d-shlibmove.1: created * d-shlibmove: some minor shuffling around. It needs some real good thinking to do much more. Implemented extra files installation. use readlink -f instead of readlink * d-devlibdeps: an imperfect script started to make my life easier. The list of -dev packages it supports is rather incomplete. It will be filled up sometime. 2002-05-01 Junichi Uekawa * COPYING: added 2002-04-27 Junichi Uekawa * d-shlibmove: much updates to make things more versatile 2002-04-26 Junichi Uekawa * d-shlibmove: Renamed to d-shlibmove from libmove.sh Preparation for release. d-shlibs-0.54ubuntu1/debian/0000755000000000000000000000000012312061357012603 5ustar d-shlibs-0.54ubuntu1/debian/pbuilder-test/0000755000000000000000000000000011164430130015357 5ustar d-shlibs-0.54ubuntu1/debian/pbuilder-test/02_uppercase.d/0000755000000000000000000000000011164423404020077 5ustar d-shlibs-0.54ubuntu1/debian/pbuilder-test/02_uppercase.d/libUppercase.c0000644000000000000000000000013111041540255022652 0ustar /* Sample code to test 'libUppercase' handling. */ int test(int a) { return a; } d-shlibs-0.54ubuntu1/debian/pbuilder-test/02_uppercase.d/debian/0000755000000000000000000000000011041540255021317 5ustar d-shlibs-0.54ubuntu1/debian/pbuilder-test/02_uppercase.d/debian/control0000644000000000000000000000070411041540255022723 0ustar Source: libuppercase Section: libs Priority: standard Build-Depends: debhelper (>= 5) Maintainer: dancerj Standards-Version: 3.7.2 Package: libuppercase1 Architecture: any Section: libs Priority: required Depends: ${shlibs:Depends} Description: test Package: libuppercase1-dev Architecture: any Section: libdevel Priority: optional Depends: libuppercase1 (= ${Source-Version}) Conflicts: libuppercase-dev Provides: libuppercase-dev Description: test d-shlibs-0.54ubuntu1/debian/pbuilder-test/02_uppercase0000644000000000000000000000041511041540255017576 0ustar #!/bin/bash set +e cd debian/pbuilder-test/02_uppercase.d/ gcc -shared -Wl,--soname="libUppercase.so.1" -o /tmp/libUppercase.so.1.0.0 ln -s libUppercase.so.1.0.0 /tmp/libUppercase.so d-shlibmove /tmp/libUppercase.so case $? in 2) exit 0;; *) exit 1;; esac d-shlibs-0.54ubuntu1/debian/pbuilder-test/01_ncurses0000644000000000000000000000026011041540255017266 0ustar #!/bin/bash set +e apt-get install libncurses5-dev cd debian/pbuilder-test/01_ncurses.d d-shlibmove /usr/lib/libncurses.so case $? in 2) exit 0;; *) exit 1;; esac d-shlibs-0.54ubuntu1/debian/pbuilder-test/03_make_test0000644000000000000000000000024411164430130017560 0ustar #!/bin/bash # run the make test target. apt-get install -y devscripts libtool doxygen cdbs autotools-dev libgtk2.0-dev libcairo2-dev libpango1.0-dev make test-buildd-shlibs-0.54ubuntu1/debian/pbuilder-test/01_ncurses.d/0000755000000000000000000000000011041540255017567 5ustar d-shlibs-0.54ubuntu1/debian/pbuilder-test/01_ncurses.d/debian/0000755000000000000000000000000011164423373021020 5ustar d-shlibs-0.54ubuntu1/debian/pbuilder-test/01_ncurses.d/debian/control0000644000000000000000000001176111041540255022422 0ustar Source: ncurses Section: libs Priority: standard Build-Depends: debhelper (>= 5), g++-multilib [amd64 i386 kfreebsd-amd64 powerpc ppc64 s390 sparc], libgpmg1-dev (>= 1.19.6-20) [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64], quilt (>= 0.40-1) Maintainer: Daniel Baumann Standards-Version: 3.7.2 Package: libncurses5 Architecture: any Section: libs Priority: required Depends: ${shlibs:Depends} Recommends: libgpmg1 Description: Shared libraries for terminal handling This package contains the shared libraries necessary to run programs compiled with ncurses. Package: libncurses5-dev Architecture: any Section: libdevel Priority: optional Depends: libncurses5 (= ${Source-Version}), libc-dev Conflicts: ncurses-dev, ncurses-developer, libncurses-dev Replaces: ncurses-dev, ncurses-developer, libncurses-dev Provides: libncurses-dev, ncurses-dev Description: Developer's libraries and docs for ncurses This package contains the header files, static libraries and symbolic links that developers using ncurses will need. It also includes the libraries' man pages and other documentation. Package: libncurses5-dbg Architecture: any Section: libdevel Priority: extra Depends: libncurses5-dev (= ${Source-Version}) Description: Debugging/profiling libraries for ncurses This package contains the debugging libraries for ncurses. Package: libncursesw5 Architecture: any Section: libs Priority: important Depends: ${shlibs:Depends} Recommends: libgpmg1 Description: Shared libraries for terminal handling (wide character support) This package contains the shared libraries necessary to run programs compiled with ncursesw, which includes support for wide characters. Package: libncursesw5-dev Architecture: any Section: libdevel Priority: optional Depends: libncursesw5 (= ${Source-Version}), libc-dev Suggests: libncurses5-dev Description: Developer's libraries for ncursesw This package contains the header files, static libraries and symbolic links that developers using ncursesw will need. . This package includes support for wide characters. Package: libncursesw5-dbg Architecture: any Section: libdevel Priority: extra Depends: libncursesw5-dev (= ${Source-Version}) Description: Debugging/profiling libraries for ncurses This package contains the debugging libraries for ncursesw. . This package includes support for wide characters. Package: lib64ncurses5 Architecture: i386 powerpc sparc s390 Section: libs Priority: optional Depends: ${shlibs:Depends} Recommends: libgpmg1 Replaces: amd64-libs (<= 1.2) Description: Shared libraries for terminal handling (64-bit) This package contains the shared libraries necessary to run programs compiled with ncurses. . This package supports the 64-bit ABI variant of your system's architecure. Package: lib64ncurses5-dev Architecture: i386 powerpc sparc s390 Section: libdevel Priority: optional Depends: lib64ncurses5 (= ${Source-Version}), libncurses5-dev, lib64c-dev Replaces: amd64-libs-dev (<= 1.2) Description: Developer's libraries for ncurses (64-bit) This package contains the header files, static libraries and symbolic links that developers using ncurses will need. . This package supports the 64-bit ABI variant of your system's architecure. Package: lib32ncurses5 Architecture: amd64 ppc64 Section: libs Priority: optional Depends: ${shlibs:Depends} Replaces: ia32-libs Description: Shared libraries for terminal handling (32-bit) This package contains the shared libraries necessary to run programs compiled with ncurses. . This package supports the 64-bit ABI variant of your system's architecure. Package: lib32ncurses5-dev Architecture: amd64 ppc64 Section: libdevel Priority: optional Depends: lib32ncurses5 (= ${Source-Version}), libncurses5-dev, lib32c-dev Description: Developer's libraries for ncurses (32-bit) This package contains the header files, static libraries and symbolic links that developers using ncurses will need. . This package supports the 32-bit ABI variant of your system's architecure. Package: ncurses-bin Architecture: any Section: utils Priority: required Essential: yes Pre-Depends: ${shlibs:Depends} Conflicts: ncurses, tput Provides: tput Description: Terminal-related programs and man pages This package contains the programs used for manipulating the terminfo database and individual terminfo entries, as well as some programs for resetting terminals and such. Package: ncurses-base Architecture: all Section: utils Priority: required Essential: yes Conflicts: ncurses, ncurses-runtime Provides: ncurses-runtime Replaces: ncurses-term Depends: libncurses5 (>= 5.4-5) Description: Descriptions of common terminal types This package contains what should be a reasonable subset of terminal definitions, including: ansi, dumb, linux, rxvt, screen, sun, vt100, vt102, vt220, vt52, and xterm. Package: ncurses-term Architecture: all Section: admin Priority: standard Description: Additional terminal type definitions This package contains all of the terminal definitions not found in the ncurses-base package. There are far too many to list here. d-shlibs-0.54ubuntu1/debian/README.source0000644000000000000000000000056312121764047014772 0ustar CDBS+git-buildpackage --------------------- This source package uses CDBS and git-buildpackage. NMUs need not (but are encouraged to) make special use of these tools. In particular, the debian/control.in file can be completely ignored. More info here: http://wiki.debian.org/CDBS+git-buildpackage -- Jonas Smedegaard Mon, 18 Feb 2013 12:55:37 +0100 d-shlibs-0.54ubuntu1/debian/control.in0000644000000000000000000000205112312061352014604 0ustar Source: d-shlibs Section: utils Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Jonas Smedegaard Uploaders: Andreas Tille , Hector Oron , Vasudev Kamath Build-Depends: @cdbs@ Vcs-Git: git://git.debian.org/git/collab-maint/d-shlibs Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/d-shlibs.git Standards-Version: 3.9.4 Package: d-shlibs Architecture: all Depends: ${misc:Depends}, binutils, apt Description: Debian shared library package building helper scripts Shared library packages in Debian need some special catering to do with regards to which files go where. This package contains programs which try to help automate the process and catch simple errors . "d-shlibmove" moves the shared library binary around from temporary installation directory to the destination package directory. . "d-devlibdeps" tries to list the development library dependencies required for using the -dev package. d-shlibs-0.54ubuntu1/debian/rules0000755000000000000000000000211012172010470013647 0ustar #!/usr/bin/make -f # -*- mode: makefile; coding: utf-8 -*- # Copyright © 2010, 2011, 2012, 2013 Jonas Smedegaard # Description: Main Debian packaging script for d-shlibs # # 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 3, 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, see . include /usr/share/cdbs/1/class/makefile.mk include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/rules/utils.mk DEB_MAKE_CHECK_TARGET = check DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(cdbs_make_curdestdir) DEB_INSTALL_MANPAGES_d-shlibs = d-shlibmove.1 d-devlibdeps.1 d-shlibs-0.54ubuntu1/debian/copyright0000644000000000000000000000216712172012117014536 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: d-shlibs Upstream-Contact: d-shlibs bugtracker Source: http://packages.qa.debian.org/d/d-shlibs.html git://git.debian.org/git/collab-maint/d-shlibs Files: * Copyright: 2002-2005, Junichi Uekawa 2010-2012, Jonas Smedegaard License: GPL-3+ License: GPL-3+ This file 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 3 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. . Comment: . On Debian systems the 'GNU General Public License' version 3 is located in '/usr/share/common-licenses/GPL-3'. . You should have received a copy of the 'GNU General Public License' along with this program. If not, see . d-shlibs-0.54ubuntu1/debian/copyright_hints0000644000000000000000000000252612172011170015740 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: FIXME Upstream-Contact: FIXME Source: FIXME Disclaimer: Autogenerated by CDBS Files: Makefile README d-devlibdeps.1 d-shlibmove.1 debian/README.source debian/compat debian/control debian/control.in debian/gbp.conf debian/pbuilder-test/01_ncurses debian/pbuilder-test/01_ncurses.d/debian/control debian/pbuilder-test/02_uppercase debian/pbuilder-test/02_uppercase.d/debian/control debian/pbuilder-test/02_uppercase.d/libUppercase.c debian/pbuilder-test/03_make_test debian/source/format example.control Copyright: *No copyright* License: UNKNOWN FIXME Files: d-devlibdeps d-shlibmove Copyright: 2002, 2005 Junichi Uekawa 2002-2005, Junichi Uekawa License: GPL-2+ FIXME Files: debian/rules Copyright: 2010-2013, Jonas Smedegaard License: GPL-3+ FIXME Files: COPYING Copyright: 1989, 1991 Free Software Foundation, Inc HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR HOLDERS AND/OR OTHER PARTIES disclaimer" for the program, if holder saying it may be distributed holder who places the Program under this License interest in the program law: the software, and year name of author License: GPL-ever FIXME Files: ChangeLog Copyright: fix text so that it looks more sane License: UNKNOWN FIXME d-shlibs-0.54ubuntu1/debian/source/0000755000000000000000000000000011365057464014116 5ustar d-shlibs-0.54ubuntu1/debian/source/format0000644000000000000000000000001511365057464015325 0ustar 3.0 (native) d-shlibs-0.54ubuntu1/debian/compat0000644000000000000000000000000212172011064013773 0ustar 8 d-shlibs-0.54ubuntu1/debian/control0000644000000000000000000000211712312061352014202 0ustar Source: d-shlibs Section: utils Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Jonas Smedegaard Uploaders: Andreas Tille , Hector Oron , Vasudev Kamath Build-Depends: cdbs, debhelper, dh-buildinfo, devscripts Vcs-Git: git://git.debian.org/git/collab-maint/d-shlibs Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/d-shlibs.git Standards-Version: 3.9.4 Package: d-shlibs Architecture: all Depends: ${misc:Depends}, binutils, apt Description: Debian shared library package building helper scripts Shared library packages in Debian need some special catering to do with regards to which files go where. This package contains programs which try to help automate the process and catch simple errors . "d-shlibmove" moves the shared library binary around from temporary installation directory to the destination package directory. . "d-devlibdeps" tries to list the development library dependencies required for using the -dev package. d-shlibs-0.54ubuntu1/debian/gbp.conf0000644000000000000000000000014611345477101014226 0ustar # Configuration file for git-buildpackage and friends [DEFAULT] pristine-tar = True sign-tags = True d-shlibs-0.54ubuntu1/debian/changelog0000644000000000000000000004202112312061357014454 0ustar d-shlibs (0.54ubuntu1) trusty; urgency=medium * Add quirk for ld-linux-aarch64-1-dev. -- Colin Watson Tue, 18 Mar 2014 15:14:54 +0000 d-shlibs (0.54) unstable; urgency=low [ Andreas Tille ] * Fix avoid infinite loop in d-devlibdeps, handling unknown options. Closes: bug#718994. * Add quirks for libbz2-1.0-dev and libcurl-gnutls4-dev. [ Vasudev Kamath ] * Generalize quirk for libc, to cover more archs and platforms. Thanks to Aaron M. Ucko. * Depend on apt: It is of priority important (not core). Thanks to Aaron M. Ucko. -- Jonas Smedegaard Tue, 10 Sep 2013 18:02:48 +0200 d-shlibs (0.53) unstable; urgency=low [ Vasudev Kamath ] * Add quirk for liblzma5-dev * Add myself to uploaders. * If soname or library name contains "_" replace it with "-" in d-shlibmove, "_" is not a valid character in package name as per Debian policy. Closes: bug#712818. [ Jonas Smedegaard ] * Update package relations: + Relax to build-depend unversioned on cdbs: Needed version satisfied in stable, and oldstable no longer supported. * Update copyright file: + Fix use pseudo-comment section to obey silly restrictions of copyright format 1.0. + Merge Files sections: We are upstream so no sense dividing. * Drop README.Debian: Contained only obsolete info. * Add README.source emphasizing control.in file as *not* a show-stopper for contributions, referring to wiki page for details. * Bump packaging license to GPL-3+, and extend copyrigt coverage for myself to include current year. * Bump standards-version to 3.9.4. * Rewrap long description at 72 chars, and strip trailing whitespace. * Bump debhelper compatibility to 8. * Fix adjust double copyright paragraph in copyright file. * List issue tracker as preferred contact. * Add git URL as alternate source. -- Jonas Smedegaard Thu, 18 Jul 2013 18:14:26 +0200 d-shlibs (0.52) unstable; urgency=low [ Jonas Smedegaard ] * Update copyrigth file: Fix add Files: hint to first Files section. [ Hector Oron ] * Update dynamic linker override to also match armhf linker (/lib/ld-linux-armhf.so.3). (Closes: #670720) * Add myself to uploaders. -- Hector Oron Sun, 29 Apr 2012 13:16:49 +0200 d-shlibs (0.51) unstable; urgency=low * Fix always respect --exlude-la for --extralib (no matter order of arguments). * Implement options --include-a and --exclude-a, the former being default. Thanks to Jérémy Lal. * Add quirks for libicu-dev and libv8-dev. * Bump standards-version to 3.9.3. * Use anonscm.debian.org URL in Vcs-Browser field. * Update copyright file: + Bump format to 1.0. -- Jonas Smedegaard Sat, 31 Mar 2012 19:47:54 +0200 d-shlibs (0.50) unstable; urgency=low * Document in d-shlibmove(1) at which version the options --multiarch --include-la and --exclude-la was introduced. * Bump debhelper compat level to 7. * Enable copyright-checking and buildinfo inclusion. Tighten build-dependency on cdbs. Build-depend on devscripts and dh-buildinfo. * Update copyright file: + Fix use Comment section. + Fix File path syntax. + Extend copyright years for Debian packaging. -- Jonas Smedegaard Sun, 22 Jan 2012 17:39:43 +0100 d-shlibs (0.49) unstable; urgency=low * Add quirk for libc6-dev. Closes: Bug#651627. Thanks to Torquil Macdonald Sørensen. -- Jonas Smedegaard Sun, 11 Dec 2011 12:33:40 +0700 d-shlibs (0.48) unstable; urgency=low * Add quirks: + liblcms2-dev + ld1-dev Closes: bug#645471. Thanks to Thorsten Glaser and Samuel Thibault. + libtinfo5-dev Closes: bug#646226. Thanks to Sven Joachim. + ld-linux2-dev Closes: bug#632805. Thanks to Nobuhiro Iwamatsu. * Update package relations: + Relax build-depend unversioned on debhelper (needed version satisfied even in oldstable). * Add --multiarch option. Closes: bug#637799. Thanks to Jon Severinsson. -- Jonas Smedegaard Wed, 30 Nov 2011 23:35:37 +0700 d-shlibs (0.47) unstable; urgency=low * Fix typo in armel-specific ld-linux3-dev suppression. Closes: bug#633933. Thanks to Jani Monoses. -- Jonas Smedegaard Fri, 15 Jul 2011 13:25:42 +0200 d-shlibs (0.46) unstable; urgency=low * Tighten sorting order of quirks: + Uppercase before lowercase. + Wildcards and groups before explicits. Closes: bug#631578. Thanks to Samuel Thibault. * Add quirks for libucommon5-dev and libusecure5-dev. * Invoke apt-cache with --no-generate option to avoid APT/fakeroot bug#630591. * fix exclude .la files for extralibs. -- Jonas Smedegaard Sat, 02 Jul 2011 16:15:10 +0200 d-shlibs (0.45) unstable; urgency=low * Update quirks: + Drop obsolete fallbacks on old xlibs-dev. + Replace simplistic reording workaround from 0.44+nmu1 with proper fix: Narrow libX* wildcard to cover only lowercase chars (not digits, to not steal different libX11-6-dev quirk), and drop subsequent quirks covered by the wildcard. Closes: bug#581318, thanks to Lucas Nussbaum and Sebastian Andrzej Siewior. + Add libjpeg-dev unversioning quirk. See bug#629967. + Add a bunch of quirks: - libav* - libavahi-* - libcelt - libdbus - libffado - libgnutls - libijs - libjackserver - libjasper - libpaper - libraw1394 - libstdc++6* - libuuid * Silence optional build-dependencies to ease backporting. * Implement options --include-la and --exclude-la, the former being default for now. Closes: bug#543461. Thanks to Andreas Tille and Alessio Treglia. * Extend copyright years. * Update copyright file: + Bump format to draft 174 of DEP-5. + Extend a copyright year. + Quote license names in License field comments, and rewrap at 72 chars. * Update control file: + Bump policy compliance to standards-version 3.9.2. + Shorten Vcs-* URLs. * Fix drop tests.log from source. -- Jonas Smedegaard Fri, 10 Jun 2011 03:25:19 +0200 d-shlibs (0.44+nmu1) unstable; urgency=low * Non-maintainer upload. * Apply patch to fix FTBFS of packages that depend on libx11-dev. Closes: bug#581318, bug#584396, thanks to Sebastian Andrzej Siewior. -- Serafeim Zanikolas Mon, 19 Jul 2010 01:16:20 +0200 d-shlibs (0.44) unstable; urgency=low * Apply overrides before hardcoded quirks (in addition to afterwards for backwards compatibility). Thanks to Nobuhiro Iwamatsu (see bug#374049). * Fix libstdc++6-dev quirk: Silence (not expand). Default is build- essential, and non-default variants are pulled in by related g++-*. Closes: bug#374049, thanks especially to Junichi. * Sort quirks, strip duplicate gdk-x11-2.0-0-dev, and escape dots. * Use dpkg source format 3.0 (native). -- Jonas Smedegaard Sun, 25 Apr 2010 17:20:39 +0200 d-shlibs (0.43) unstable; urgency=low * Implement option --devunversioned. Closes: bug#530368. * Implement option --ignorelibdep. Closes: bug#530367. * Support control file fields spanning multiple lines. Closes: bug#573396. * Maintained using Git: Add Vcs-* stanzas. * Repackage using CDBS. Build-depend on cdbs. * Set debhelper compat level to 6. Build-depend tightened to that version. * Stop depending on debianutils or apt: essential and required version of debianutils satisfied in oldstable. * Bump Standards-Version to 3.8.4. * Rewrite copyright file to draft DEP5 rev. 135. -- Jonas Smedegaard Thu, 11 Mar 2010 05:46:08 +0100 d-shlibs (0.42) unstable; urgency=low * Friendly takeover. Closes: bug#566358, thanks for inventing this cool little tool, Junichi! -- Jonas Smedegaard Thu, 11 Mar 2010 04:43:38 +0100 d-shlibs (0.41) unstable; urgency=low * glibc-2.10 on armel introduces new dynamic linker and breaks d-devlibdeps, thanks to Matthias Klose (Closes: #548626). -- Junichi Uekawa Tue, 29 Sep 2009 23:26:36 +0900 d-shlibs (0.40) unstable; urgency=low * fix libgtkdatabox FTBFS: libgio and libpangoft2. (closes: #521975) -- Junichi Uekawa Tue, 31 Mar 2009 23:23:11 +0900 d-shlibs (0.39) unstable; urgency=low * Bug fix: "d-shlibs: Does not recognize libpthread-stubs0-dev", thanks to Michael Banck (Closes: #488791). -- Junichi Uekawa Thu, 24 Jul 2008 14:21:35 +0900 d-shlibs (0.38) unstable; urgency=low * really fix upper-case filename libraries. - add a testsuite item for this. -- Junichi Uekawa Thu, 28 Feb 2008 08:17:08 +0900 d-shlibs (0.37) unstable; urgency=low * Bug fix: "d-shlibs: Please enable upper case file names of libraries", thanks to Andreas Tille (Closes: #467622). -- Junichi Uekawa Wed, 27 Feb 2008 08:56:21 +0900 d-shlibs (0.36) unstable; urgency=low * Add Depends on apt (Closes: #447297). -- Junichi Uekawa Mon, 22 Oct 2007 08:04:11 +0900 d-shlibs (0.35) unstable; urgency=low * Bug fix: "d-shlibs: Override needed for libgd2-dev", thanks to Luis Rodrigo Gallardo Cruz (Closes: #440728). * add -ldbl option. -- Junichi Uekawa Tue, 04 Sep 2007 08:18:48 +0900 d-shlibs (0.34) unstable; urgency=low * set -o pipefail. (Closes: #432456). -- Junichi Uekawa Tue, 10 Jul 2007 08:10:58 +0900 d-shlibs (0.33) unstable; urgency=low * Bug fix: "[m68k] d-shlibs vs. libgcc_s2-dev", thanks to Stephen R Marenka (Closes: #428870). * Bug fix: "libstdc++6-dev->libstdc++6-4.1-dev" thanks to Riku Voipio (Closes: #430994). * document exit codes for d-devlibdeps. * change dry-run exit code to 2, different from normal error. * add simple testsuite -- Junichi Uekawa Fri, 29 Jun 2007 08:07:58 +0900 d-shlibs (0.32) unstable; urgency=low * d-shlibs: Support needed for libxml2-2-dev -> libxml2-dev (closes: #416533) * d-shlibs: Support needed for libgthread-2.0-0-dev -> libglib2.0-dev (closes: #416545) -- Junichi Uekawa Thu, 29 Mar 2007 08:44:22 +0900 d-shlibs (0.31) unstable; urgency=low * support for newer gtk/glib situation (Closes: #381129). -- Junichi Uekawa Thu, 3 Aug 2006 08:37:13 +0900 d-shlibs (0.30) unstable; urgency=low * support --override option for devlibdeps (closes: #374095) -- Junichi Uekawa Mon, 31 Jul 2006 23:16:30 +0900 d-shlibs (0.29) unstable; urgency=low * Bug fix: "d-shlibs: Support needed for libspeex1-dev -> libspeex-dev", thanks to dr@jones.dk (Closes: #378331). -- Junichi Uekawa Fri, 28 Jul 2006 22:14:34 +0900 d-shlibs (0.28) unstable; urgency=low * support Hurd pthreads. (closes: #344713) * Standards-Version: 3.7.2 * dh-compat: 4 -- Junichi Uekawa Sat, 1 Jul 2006 14:04:23 +0900 d-shlibs (0.27) unstable; urgency=low * Added override for librt1-dev. Thanks to Max Hofer. (closes: #325416) -- Junichi Uekawa Tue, 30 Aug 2005 08:35:02 +0900 d-shlibs (0.26) unstable; urgency=low * Check for objdump -p failure status, to check for error case when library is not where it should be. (closes: #306341) * Standards-Version: 3.6.2 -- Junichi Uekawa Sun, 21 Aug 2005 14:00:02 +0900 d-shlibs (0.25) unstable; urgency=low * Remove dancer@mikilab.doshisha.ac.jp from mail address, it's not longer valid. * Bug fix: "libshout: FTBFS: d-shlibmove reports problem with libogg0-dev", thanks to Roland Stigge (Closes: #302871). - libogg0-dev -> libogg-dev -- Junichi Uekawa Mon, 4 Apr 2005 08:37:52 +0900 d-shlibs (0.24) unstable; urgency=low * d-shlibs: Fixes for recent X11 libs (closes: 273116) * d-shlibs: Fixes for libc6 (needed for netatalk with krb5 support) above two patches thanks to Jonas Smedegaard (closes: 273320) * "Fixes for kfreebsd-gnu", thanks to Robert Millan (Closes: #268272). -- Junichi Uekawa Sat, 2 Oct 2004 15:29:52 +0900 d-shlibs (0.23) unstable; urgency=low * Add libcrypt/nsl for alpha overrides. * Bug fix: "devlibs error: There is no package matching [libcrypt1.1-dev] and noone provides it", thanks to Falk Hueffner (Closes: #265927). -- Junichi Uekawa Tue, 17 Aug 2004 00:25:33 +0900 d-shlibs (0.22) unstable; urgency=low * libvorbis-dev and libtheora-dev overrides. (closes: #264556) -- Junichi Uekawa Mon, 9 Aug 2004 22:57:40 +0900 d-shlibs (0.21) unstable; urgency=low * libkrb.so.1 -> kerberos4kth-dev (closes: #262163) -- Junichi Uekawa Sun, 1 Aug 2004 15:27:48 +0900 d-shlibs (0.20) unstable; urgency=low * netatalk support from Jonas Smedegaard (Closes: #228030) -- Junichi Uekawa Fri, 16 Jan 2004 22:26:06 +0900 d-shlibs (0.19) unstable; urgency=low * Bug fix: "d-shlibs: needlessly-depends-on-awk", thanks to Adrian Bunk (Closes: #216538). -- Junichi Uekawa Fri, 7 Nov 2003 07:37:15 +0900 d-shlibs (0.18) unstable; urgency=low * libvorbis-dev override, request from Keegan Quinn (closes: #203274) * Standards-Version: 3.6.0 -- Junichi Uekawa Tue, 29 Jul 2003 18:16:15 +0900 d-shlibs (0.17) unstable; urgency=low * libsdl1.2-dev override, request from Kalle Olavi Niemitalo (closes: #198253) -- Junichi Uekawa Thu, 3 Jul 2003 00:04:43 +0900 d-shlibs (0.16) unstable; urgency=low * libssl0.9.[67]->libssl-dev, per request from Andres Salomon (closes: #192472) -- Junichi Uekawa Sun, 11 May 2003 01:25:35 +0900 d-shlibs (0.15) unstable; urgency=low * Allow multiple library packages to be built from same source, validation will pass package names that are going to be built from the same source. -- Junichi Uekawa Sat, 5 Apr 2003 13:48:46 +0900 d-shlibs (0.14) unstable; urgency=low * Allow use of libdevel section for development libs. -- Junichi Uekawa Wed, 2 Apr 2003 21:28:21 +0900 d-shlibs (0.13) unstable; urgency=low * Ack NMU for kerberos5 (closes: 184805) * Add override for libparted1.6-dev (closes: 186084) -- Junichi Uekawa Tue, 25 Mar 2003 00:50:06 +0900 d-shlibs (0.12.1) unstable; urgency=low * NMU to recognize kerberos5 libraries. -- Jonas Smedegaard Mon, 17 Mar 2003 19:32:15 +0100 d-shlibs (0.12) unstable; urgency=low * support libcrypto, by Jonas Smedegaard (closes: #178716) -- Junichi Uekawa Thu, 30 Jan 2003 18:50:17 +0900 d-shlibs (0.11) unstable; urgency=low * Add error/sanity checking for unknown and nonexisting package names. (closes: #178220) -- Junichi Uekawa Mon, 27 Jan 2003 18:50:28 +0900 d-shlibs (0.10) unstable; urgency=low * Add override for libgcc_s1-dev Thanks James Troup, and yes, DWIM tools are a bit silly. -- Junichi Uekawa Fri, 24 Jan 2003 12:22:13 +0900 d-shlibs (0.9) unstable; urgency=low * Fix for libpam and e2fsprogs from Jonas Smedegaard (closes: #177342) * Document NMU policy for this package. -- Junichi Uekawa Mon, 20 Jan 2003 11:54:20 +0900 d-shlibs (0.8) unstable; urgency=low * C++ abi transition, support --c102 option, to add c102 to end of library package. -- Junichi Uekawa Sat, 11 Jan 2003 00:10:51 +0900 d-shlibs (0.7) unstable; urgency=low * libc-dev dependency is not really required, because libc6-dev dependency etc. should already be there. (closes: #171303) thanks: Jonas Smedegaard * fix debian/copyright slightly * Standards-Version: 3.5.8 -- Junichi Uekawa Sun, 15 Dec 2002 13:48:40 +0900 d-shlibs (0.6) unstable; urgency=low * Fix devlibdeps which has emit libXpm4-dev (closes: #170579) thanks: Jonas Smedegaard -- Junichi Uekawa Mon, 25 Nov 2002 16:32:27 +0900 d-shlibs (0.5) unstable; urgency=low * Update d-shlibmove.1 page to document which version a specific option was introduced. -- Junichi Uekawa Tue, 22 Oct 2002 14:12:49 +0900 d-shlibs (0.4) unstable; urgency=low * add support for --movedevdoc option. * standards-version 3.5.7 -- Junichi Uekawa Thu, 10 Oct 2002 14:58:04 +0900 d-shlibs (0.3) unstable; urgency=low * add support for --suffix option. * add support for --shlibs-local option. * add hacks for alpha libc. (closes: #159020) -- Junichi Uekawa Thu, 15 Aug 2002 21:44:22 +0900 d-shlibs (0.2) unstable; urgency=low * Do not fail if .la is not available. -- Junichi Uekawa Thu, 8 Aug 2002 10:32:46 +0900 d-shlibs (0.1) unstable; urgency=low * Initial Release. Close ITP: (closes: 145692) -- Junichi Uekawa Tue, 7 May 2002 22:39:12 +0900 d-shlibs-0.54ubuntu1/d-shlibmove0000755000000000000000000001672412172006221013523 0ustar #!/bin/bash # d-shlibmove -- move shared library files around for Debian packaging # Copyright (C) 2002, 2005 Junichi Uekawa # # 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # 2002 Apr 23. Created. # automatic packaging of libtool-created library packages. # from d-shlibs package set -e set -o pipefail function getname () { local SONAMELIBNAME local SONAMEVERSION local SONAME SONAME="$1" SONAMELIBNAME=$(echo $SONAME | sed 's/\.so\..*$//') SONAMEVERSION=$(echo $SONAME | sed 's/^.*\.so\.//') case "$SONAMELIBNAME" in *[0-9]) RETURN="$SONAMELIBNAME-$SONAMEVERSION" ;; *) RETURN="$SONAMELIBNAME$SONAMEVERSION" ;; esac } function readlibnameinfo () { LIBNAME="$1" if [ -z "$1" ] || ! echo "$1" | grep ".so$" > /dev/null ; then echo "$0: [$1] is not a valid shared library file name " >&2 exit 1; fi if [ ! -h "$1" ]; then echo "$0: expected [$1] to be a symlink, but it is not" >&2 exit 1; fi SONAME=$(set -o pipefail; objdump -p ${LIBNAME} |sed -n 's/^.*SONAME *//p' ) getname "$SONAME" SONAMEPKGNAME=$(echo "$RETURN" | tr '[A-Z_]' '[a-z\-]') PK=$(basename "$1" | sed 's/\.so$//') PK_LOWER=$(echo ${PK} | tr '[A-Z_]' '[a-z\-]') REALSO=$(readlink -f "${LIBNAME}") } function check_line () { # check line local PKGNAME="$1" local ENTRYLINE="$2" if ! awk '/^Package:.*'"$PKGNAME"'/,/^$/{print}' "$CONTROL" | \ perl -0 -pe 's/\n[ \t]+/ /g' | \ grep "$ENTRYLINE" > /dev/null; then echo "E: line [$ENTRYLINE] not found in $CONTROL section for $PKGNAME" # set this error signifier to true CHECK_ERROR=true fi } echo "Library package automatic movement utility" CONTROL=debian/control execscript=$(tempfile) INSTALLFILE_SHLPKG=$(tempfile) INSTALLFILE_DEVPKG=$(tempfile) cat > ${execscript} <> "${INSTALLFILE_SHLPKG}" shift; shift; shift; ;; --movedev) echo "$2 $3" >> "${INSTALLFILE_DEVPKG}" shift; shift; shift; ;; --movedevdoc) echo "$2 usr/share/doc/\${PKGDEV}" >> "${INSTALLFILE_DEVPKG}" shift; shift; ;; --commit) DOIT=yes shift; ;; --multiarch) MULTIARCH=yes shift; ;; --extralib) EXTRALIBS="${EXTRALIBS} $2" shift; shift; ;; --shlibs-local) shift; SHLIBSLOCALVER="$1"; shift; ;; --suffix) shift; SUFFIX="$1"; shift; ;; --devsuffix) shift; DEVSUFFIX="$1"; shift; ;; --devunversioned) DEVUNVERSIONED=yes shift;; --ignorelibdep) IGNORELIBDEP=yes shift;; --c102) TRANSITIONSUFFIX="c102" shift;; --ldbl) TRANSITIONSUFFIX="ldbl" shift;; --include-a) INCLUDEA=yes shift;; --exclude-a) INCLUDEA=no shift;; --include-la) INCLUDELA=yes shift;; --exclude-la) INCLUDELA=no shift;; --override) OVERRIDE[${#OVERRIDE[@]}]="$2" shift; shift;; --|*) break; ;; esac done # path/libxxxx.so.yyy.zz.zz # ------------------------- REALSO (actual .so filename that is linked to) # -------------- SONAME # ------- --- SONAMEPKGNAME (lowercased for package name) # --------------- $1 # ---------- PK # ---------- PK_LOWER (lowercased for package name) DEVLIB_TO_CHECK= for extralib in $EXTRALIBS; do readlibnameinfo "$extralib" DEVLIB_TO_CHECK="${DEVLIB_TO_CHECK} $extralib" if [ "${INCLUDEA}" = "yes" ]; then echo "$(dirname $extralib)/${PK}.a usr/lib" >> "${INSTALLFILE_DEVPKG}" fi if [ "${INCLUDELA}" = "yes" ]; then echo "$(dirname $extralib)/${PK}.la usr/lib || true" >> "${INSTALLFILE_DEVPKG}" fi echo "$(dirname $extralib)/${PK}.so usr/lib" >> "${INSTALLFILE_DEVPKG}" echo "$(dirname ${REALSO})/${SONAME} usr/lib" >> "${INSTALLFILE_SHLPKG}" echo "${REALSO} usr/lib" >> "${INSTALLFILE_SHLPKG}" done DEVLIB_TO_CHECK="${DEVLIB_TO_CHECK} $1" readlibnameinfo "$1" if [ "${DEVUNVERSIONED}" = "yes" ]; then PKGDEV="${PK_LOWER}${DEVSUFFIX}-dev" else PKGDEV="${SONAMEPKGNAME}${DEVSUFFIX}-dev" fi PKGSHL="${SONAMEPKGNAME}${SUFFIX}${TRANSITIONSUFFIX}" INSTALLDIR="install -d -m 755 " echo "${INSTALLDIR} debian/${PKGDEV}/usr/lib" >> "$execscript" echo "${INSTALLDIR} debian/${PKGSHL}/usr/lib" >> "$execscript" if [ "${INCLUDEA}" = "yes" ]; then echo "mv $(dirname $1)/${PK}.a debian/${PKGDEV}/usr/lib" >> "$execscript" fi if [ "${INCLUDELA}" = "yes" ]; then echo "mv $(dirname $1)/${PK}.la debian/${PKGDEV}/usr/lib || true" >> "$execscript" fi echo "mv $(dirname $1)/${PK}.so debian/${PKGDEV}/usr/lib" >> "$execscript" echo "mv $(dirname ${REALSO})/${SONAME} debian/${PKGSHL}/usr/lib" >> "$execscript" echo "mv ${REALSO} debian/${PKGSHL}/usr/lib" >> "$execscript" if [ -n "${SHLIBSLOCALVER}" ]; then echo "echo \"${SONAMELIBNAME} ${SONAMEVERSION} ${PKGSHL} (>= ${SHLIBSLOCALVER})\" >> debian/shlibs.local" >> "$execscript" fi d-devlibdeps "${OVERRIDE[@]/#/--override=}" debian/"${PKGDEV}".substvars "${DEVLIB_TO_CHECK}" #do some definition for the file. echo "PKGDEV=${PKGDEV}" >> "${execscript}" echo "PKGSHL=${PKGSHL}" >> "${execscript}" #do the extra files cat "${INSTALLFILE_SHLPKG}" | while read A B; do echo "${INSTALLDIR} debian/${PKGSHL}/${B}" >> "${execscript}" echo "mv ${A} debian/${PKGSHL}/${B}" >> "${execscript}" done if [ "${INCLUDELA}" = "no" ]; then sed -i -e "/^.*\.la usr\/lib || true$/d" "${INSTALLFILE_DEVPKG}" fi cat "${INSTALLFILE_DEVPKG}" | while read A B; do echo "${INSTALLDIR} debian/${PKGDEV}/${B}" >> "${execscript}" echo "mv ${A} debian/${PKGDEV}/${B}" >> "${execscript}" done if [ "${MULTIARCH}" = "yes" ]; then sed -i -e "s/usr\/lib\( || true\)\?$/usr\/lib\/$(dpkg-architecture -qDEB_HOST_MULTIARCH)\1/" "${execscript}" fi cat "${execscript}" # check the syntax of the control file. CHECK_ERROR=false if ! [ "${DEVUNVERSIONED}" = "yes" ]; then check_line "${PKGDEV}" "Provides:.*${PK_LOWER}-dev" check_line "${PKGDEV}" "Conflicts:.*${PK_LOWER}-dev" fi check_line "${PKGSHL}" "Section: libs" if [ -n "${SUFFIX}" ]; then check_line "${PKGSHL}" "Conflicts: ${SONAMEPKGNAME}" fi if [ -n "${TRANSITIONSUFFIX}" ]; then check_line "${PKGSHL}" "Conflicts: ${SONAMEPKGNAME}${SUFFIX}" fi check_line "${PKGDEV}" "Section: \(devel\|libdevel\)" if ! [ "${IGNORELIBDEP}" = "yes" ]; then check_line "${PKGDEV}" "Depends:.*${PKGSHL}" fi check_line "${PKGSHL}" "Depends:.*[$]{shlibs:Depends}" if [ "${CHECK_ERROR}" = "true" ]; then echo "Error occurred, aborting" >&2 exit 1 fi if [ "${DOIT}" = "yes" ]; then sh "${execscript}" else echo "Dry-run. If you are satisfied, run with --commit" exit 2 fi rm -f "${execscript}" "${INSTALLFILE_DEVPKG}"" ${INSTALLFILE_SHLPKG}" exit 0 d-shlibs-0.54ubuntu1/Makefile0000644000000000000000000000104611164427342013026 0ustar installdir:=install -d -m 755 installbin:=install -m 755 all: check: bash -n d-shlibmove bash -n d-devlibdeps test-build: mkdir TESTS ( cd TESTS; \ for PKG in dancer-xml dlisp libdshconfig libgtkdatabox ; do \ ( mkdir $$PKG ; cd $$PKG ; apt-get source $$PKG; cd */ ; /usr/bin/debuild -us -uc ; debc; ) ; \ done ) 2>&1 | tee tests.log install: check $(installdir) $(DESTDIR)/usr/bin/ $(installbin) d-shlibmove $(DESTDIR)/usr/bin/d-shlibmove $(installbin) d-devlibdeps $(DESTDIR)/usr/bin/d-devlibdeps clean: -rm -f *~ -rm -rf TESTS d-shlibs-0.54ubuntu1/d-devlibdeps0000755000000000000000000001602512312060461013650 0ustar #!/bin/bash # d-devlibdeps -- get list of build-time dependencies # Copyright (C) 2002-2005 Junichi Uekawa # # 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # 2002 May 3. Created. # automatic depends line generator. set -e set -o pipefail function getname () { local SONAMELIBNAME local SONAMEVERSION local SONAME SONAME="$1" SONAMELIBNAME=$(echo $SONAME | sed 's/\.so\..*$//') SONAMEVERSION=$(echo $SONAME | sed 's/^.*\.so\.//') case "$SONAMELIBNAME" in *[0-9]) RETURN="$SONAMELIBNAME-$SONAMEVERSION" ;; *) RETURN="$SONAMELIBNAME$SONAMEVERSION" ;; esac } function overridedevlibdeps () { # overrides necessary until the scheme is adopted. sed \ "${OVERRIDE[@]/#/-e}" \ -e 's/ld1-dev//' \ -e 's/ld-linux.*[23]-dev//' \ -e 's/ld-linux-aarch64-1-dev//' \ -e 's/libatk-1\.0-0-dev/libatk1.0-dev/' \ -e 's/libavahi-client.-dev/libavahi-client-dev/' \ -e 's/libavahi-common.-dev/libavahi-common-dev/' \ -e 's/libavahi-glib.-dev/libavahi-glib-dev/' \ -e 's/libav\([a-z]\+\)[0-9]\+-dev/libav\1-dev/' \ -e 's/libbz2-1.0-dev/libbz2-dev/' \ -e 's/libc[0-9][.0-9]*-dev//' \ -e 's/libcelt0-0-dev/libcelt-dev/' \ -e 's/libcomerr2//' \ -e 's/libcom_err2-dev/comerr-dev/' \ -e 's/libcrack2-dev/cracklib2-dev/' \ -e 's/libcrypt1\.1-dev//' \ -e 's/libcrypt1-dev//' \ -e 's/libcrypto.*-dev/libssl-dev/' \ -e 's/libcurl-gnutls4-dev/libcurl4-gnutls-dev/' \ -e 's/libdbus-1-3-dev/libdbus-1-dev/' \ -e 's/libdl2\.1-dev//' \ -e 's/libdl2-dev//' \ -e 's/libffado2-dev/libffado-dev/' \ -e 's/libGL1-dev/xlibmesa-gl-dev/' \ -e 's/libGLU1-dev/xlibmesa-glu-dev/' \ -e 's/libgcc_s.*-dev//' \ -e 's/libgd2-dev/libgd-dev/' \ -e 's/libgdk-1\.2-0-dev/libgtk1.2-dev/' \ -e 's/libgdk_pixbuf-2\.0-0-dev/libgtk2.0-dev/' \ -e 's/libgdk-x11-2\.0-0-dev/libgtk2.0-dev/' \ -e 's/libgio-2\.0-0-dev/libglib2.0-dev/' \ -e 's/libglib-1\.2-0-dev/libglib1.2-dev/' \ -e 's/libglib-2\.0-0-dev/libglib2.0-dev/' \ -e 's/libgmodule-1\.2-0-dev/libglib1.2-dev/' \ -e 's/libgmodule-2\.0-0-dev/libglib2.0-dev/' \ -e 's/libgnutls26/libgnutls/' \ -e 's/libgobject-2\.0-0-dev/libglib2.0-dev/' \ -e 's/libgssapi_krb5-2-dev/libkrb5-dev/' \ -e 's/libgthread-1\.2-0-dev/libglib1.2-dev/' \ -e 's/libgthread-2\.0-0-dev/libglib2.0-dev/' \ -e 's/libgtk-1\.2-0-dev/libgtk1.2-dev/' \ -e 's/libgtk-x11-2\.0-0-dev/libgtk2.0-dev/' \ -e 's/libICE6-dev/libice-dev/' \ -e 's/libicu\(i18n48\|uc48\)-dev/libicu-dev/' \ -e 's/libijs.*-dev/libijs-dev/' \ -e 's/libjackserver0-dev//' \ -e 's/libjasper1/libjasper/' \ -e 's/libjpeg[0-9.]\+-dev/libjpeg-dev/' \ -e 's/libk5crypto3-dev/libkrb5-dev/' \ -e 's/libkrb1-dev/kerberos4kth-dev/' \ -e 's/libkrb5-3-dev/libkrb5-dev/' \ -e 's/liblcms2-2-dev/liblcms2-dev/' \ -e 's/libm1-dev//' \ -e 's/libm6\.1-dev//' \ -e 's/libm6-dev//' \ -e 's/libnsl1\.1-dev//' \ -e 's/libnsl1-dev//' \ -e 's/libogg0-dev/libogg-dev/' \ -e 's/libpam0-dev/libpam0g-dev/' \ -e 's/libpango-1\.0-0-dev/libpango1.0-dev/' \ -e 's/libpangocairo-1\.0-0-dev/libpango1.0-dev/' \ -e 's/libpangoft2-1\.0-0-dev/libpango1.0-dev/' \ -e 's/libpangox-1\.0-0-dev/libpango1.0-dev/' \ -e 's/libpangoxft-1\.0-0-dev/libpango1.0-dev/' \ -e 's/libpaper1/libpaper/' \ -e 's/libparted-1\.6-0-dev/libparted1.6-dev/' \ -e 's/libpthread0\.3-dev//' \ -e 's/libpthread0-dev//' \ -e 's/libpthread-stubs0-dev//' \ -e 's/libpthread.*-dev/libpthread-dev/' \ -e 's/libraw1394-8-dev/libraw1394-dev/' \ -e 's/libresolv2-dev//' \ -e 's/librt1-dev//' \ -e 's/libSDL-1\.2-0-dev/libsdl1.2-dev/' \ -e 's/libSM6-dev/libsm-dev/' \ -e 's/libspeex1-dev/libspeex-dev/' \ -e 's/libssl.*-dev/libssl-dev/' \ -e 's/libstdc++6.*-dev//' \ -e 's/libtheora0-dev/libtheora-dev/' \ -e 's/libtinfo5-dev/libtinfo-dev/' \ -e 's/libucommon5-dev/libucommon-dev/' \ -e 's/libusecure5-dev/libucommon-dev/' \ -e 's/libuuid1-dev/uuid-dev/' \ -e 's/libv8-[0-9.]*-dev/libv8-dev/' \ -e 's/libvorbis0-dev/libvorbis-dev/' \ -e 's/libvorbisenc2-dev/libvorbis-dev/' \ -e 's/libX11-6-dev/libx11-dev/' \ -e 's/libX\([a-z]\+\)[0-9]-dev/libx\1-dev/' \ -e 's/libxml2-2-dev/libxml2-dev/' \ -e 's/libz1-dev/zlib1g-dev/' \ -e 's/liblzma5-dev/liblzma-dev/' \ "${OVERRIDE[@]/#/-e}" \ # the blank line above this line is intentionally left blank } function validate_package () { # validate if package foo exists, this relies on apt. if [ -z "$1" ]; then # ignore empty. return; fi if grep "^Package: $1\$" debian/control > /dev/null 2> /dev/null ; then # ignore package that is going to be created. echo " --> $1 package from same source package." >&2 return fi case $(echo $(apt-cache --no-generate show $1 2> /dev/null| wc -l ) ) in 0) case $(echo $(apt-cache --no-generate showpkg $1 2> /dev/null | awk ' /^Reverse Provides: $/,/^$/ {if ($0 !~ /:/) {print $0}}' | wc -l) ) in 0) echo "devlibs error: There is no package matching [$1] and noone provides it, please report bug to d-shlibs maintainer" >&2 return 1;; *) echo " --> $1 is provided by a package." >&2 ;; esac;; *) echo " --> $1 package exists." >&2 ;; esac return 0; } while true; do case $1 in --override=*) OVERRIDE[${#OVERRIDE[@]}]="${1/--override=/}" shift; ;; --override) OVERRIDE[${#OVERRIDE[@]}]="$2" shift; shift; ;; --*) echo "$0: Unknown option $1" > /dev/stderr exit 64 # EX_USAGE: command line usage error ;; --|*) break; ;; esac done if [ -z "$2" ]; then echo "$0: Please read manpage for help, not enough options given" exit 1 fi OUTPUTFILE="$1" shift; DEPENDS="" for A in $*; do # let shell do the delimiting of objdump output./ DEPENDS="$DEPENDS $(set -o pipefail; objdump -p ${A} |sed -n 's/^.*NEEDED *//p')" done outputtmp=$(tempfile) ( set -e if [ -f "$OUTPUTFILE" ] ; then if grep -v "^devlibs:Depends=" "$OUTPUTFILE"; then : fi fi printf "devlibs:Depends=" for A in $DEPENDS; do #DEPENDS is a space-delimited thing. getname "$A" echo $RETURN-dev | overridedevlibdeps done | \ sort | \ uniq | \ while read B; do # abuse that only first part of multi-entry overrides is considered if validate_package $B ; then printf "%s " $B ; else echo "ERROR_DEVLIB " fi done | sed -e 's/\([a-z0-9)]\) \+\([a-z]\)/\1, \2/g' -e 's/ \+/ /g' -e 's/^ //' -e 's/ $//' printf "\n" ) > "${outputtmp}" if grep "ERROR_DEVLIB" "$outputtmp" > /dev/null; then exit 1 fi mv "${outputtmp}" $OUTPUTFILE d-shlibs-0.54ubuntu1/example.control0000644000000000000000000000032311041540255014411 0ustar Package: libgmodule-1.2-0 Section: libs Depends: ${shlibs:Depends} Package: libgmodule-1.2-0-dev Section: devel Depends: libgmodule-1.2-0 Provides: libgmodule-dev Conflicts: libgmodule-dev Package: libstdc++ d-shlibs-0.54ubuntu1/d-shlibmove.10000644000000000000000000000706611735637662013705 0ustar .TH "d-shlibmove" 1 "2002 May 3" "Debian GNU/Linux" "d-shlibs manual" .SH NAME d-shlibmove \- Move shared library files around in Debian package creation process .SH "SYNOPSIS" .BI "d-shlibmove [" "options" "] " "shared-library.so" .SH "DESCRIPTION" Call this program in .B "debian/rules" as a replacement of .B "dh_movefiles" for shared library packages. It also checks debian/control for validity. .SH "OPTIONS" .TP .BI "--movedev [" "filename" "] [" "relative dir-path" "]" Install file into relative directory path within the .B -dev package. The dir will be created with .B "install -d" and the file will be moved. .TP .BI "--moveshl [" "filename" "] [" "relative dir-path" "]" Install file into relative directory path within the shared library runtime package. The dir will be created with .B "install -d" and the file will be moved. .TP .BI "--movedevdoc [" "filename" "] " Install file into the documentation directory of .B -dev package. The dir will be created with .B "install -d" and the file will be moved. Added in version 0.4 .TP .BI "--extralib [" "shared-library.so" "]" Install the shared library in the same package as the main shared library. .TP .BI "--multiarch" By default .B d-shlibmove installs the shared library and any extralibs into /usr/lib. Add this flag to install them into /usr/lib/ instead. Added in version 0.48 .TP .BI "--commit" By default .B d-shlibmove runs in a dry-run mode. Add this flag to make the moving actually happen. .TP .BI "--suffix [" "suffix to add to shared library package" "]" Add a suffix to shared library package. This is a workaround when binary interface to package changed, and some fixup to Debian packaging needs to be done. Added in version 0.3 .TP .BI "--devsuffix [" "suffix to add to development package" "]" Add a suffix to development package. For making incompatible development package. .TP .BI "--shlibs-local [" "current-version" "]" Create a debian/shlibs.local file to use, and specify current-version of shared library package. You need to remove debian/shlibs.local, because this only appends to, not overwrite. Added in version 0.3 .TP .B "--devunversioned" Install into unversioned development package. Added in version 0.42 .TP .B "--ignorelibdep" Suppress shlib dependency. Useful when dynamically resolved e.g. using CDBS. Added in version 0.42 .TP .B "--c102" Add c102 suffix to package names, for C++ ABI transition. Added in version 0.8 .TP .B "--ldbl" Add dbl suffix to package names. Added in version 0.35 .TP .B "--include-a" Install the *.a files. This is the default behavior. Added in version 0.51 .TP .B "--exclude-a" Avoid installing *.a files. Added in version 0.51 .TP .B "--include-la" Install the *.la files. This is the default behavior. Added in version 0.45 .TP .B "--exclude-la" Avoid installing *.la files. Added in version 0.45 .TP .BI "--override [" "override statement" "]" Add an overriding sed expression, which looks like .IR "--override s/libshared1-dev/libshared-dev/" . This expression is executed after the other rules. Multiple .B "--override" can be specified. Added in version 0.30 .SH "EXIT CODE" Return 1 on error. Return 2 on dry-run. Return 0 on success. .SH "EXAMPLES" The following is a sample command-line of a hypothetical package installation. .B "d-shlibmove --commit --movedev ""debian/tmp/usr/include/*"" usr/include --extralib debian/tmp/usr/lib/libhomeman-pthread.so debian/tmp/usr/lib/libhomeman.so" .SH "AUTHOR" Junichi Uekawa .SH "SEE ALSO" .RI "d-devlibdeps (" 1 ")" d-shlibs-0.54ubuntu1/README0000644000000000000000000000015111041540255012233 0ustar The script "d-shlibmove" tries to move around a shread library file into the appropriate directory. d-shlibs-0.54ubuntu1/d-devlibdeps.10000644000000000000000000000164711041540255014012 0ustar .TH "d-devlibdeps" 1 "2002 May 3" "Debian GNU/Linux" "d-shlibs manual" .SH NAME d-devlibdeps \- Check and list dependencies of development library packages .SH "SYNOPSIS" .BI "d-devlibdeps [" "options" "] [" "substvars file" "] [" "shared-library" "] ..." .SH "DESCRIPTION" This program gives out a list of development dependencies for a shared library, to be used in .B Depends: field of a Debian package. .B devlibs:Depends entry in substvars file is updated. .SH "OPTIONS" .TP .BI "--override=[" "override statement" "]" .TP .BI "--override [" "override statement" "]" Add an overriding sed expression, which looks like .IR "--override s/libshared1-dev/libshared-dev/" . This expression is executed after the other rules. Multiple .B "--override" can be specified. Added in version 0.30 .SH "EXAMPLES" None. .SH "AUTHOR" Junichi Uekawa .SH "SEE ALSO" .RI "d-shlibmove (" 1 ")" d-shlibs-0.54ubuntu1/COPYING0000644000000000000000000004311011041540255012410 0ustar GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 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) 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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) year 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.