dh-lisp-0.7.1/0000755000000000000000000000000011534722317007752 5ustar dh-lisp-0.7.1/Makefile0000644000000000000000000000004711465517100011406 0ustar .PHONY: clean clean: rm -f dh_lisp.1 dh-lisp-0.7.1/dh_lisp0000755000000000000000000001210711534722317011323 0ustar #!/usr/bin/perl -w # # Debhelper to automatically register Common Lisp components # # Copyright (C) 2005, 2006 by René van Bevern # =head1 NAME dh_lisp - register Common Lisp source and implementations =head1 SYNOPSIS B [S>] [S>] =head1 DESCRIPTION dh_lisp is a debhelper program that is responsible for registering Common Lisp source and implementations with the Common Lisp Controller. For Common Lisp library packages dh_lisp will automatically generate the postinst and prerm commands needed to interface with the Common Lisp Controller. It also links the given ASDF system definitions appropriately. It takes into account all ASDs that you installed below usr/share/common-lisp/source (for example with L(1)). If dh_lisp finds precompiled files from CLISP, SBCL or CMUCL, it will add a dependency on the implementation that can read the FASL version used by the implementation currently installed. (this is most likely the one which built the binaries in the package) If you supply I, dh_lisp automatically installs the implementation-specific script, which is expected to reside in debian/I.sh. dh_lisp automatically generates the necessary maintainer scripts to register the implementation with the Common Lisp Controller. =head1 OPTIONS =over 4 =item B<-n>, B<--noscripts> do not add to maintainer scripts =item B<-d> do not generate dependencies on implementations for binary files in the package =item I Install the debian/I.sh script and generate maintainer scripts to (un)register I at the Common Lisp Controller. =back =head1 NOTES Note that this command is not idempotent. "dh_clean -k" should be called between invocations of this command. Otherwise, it may cause multiple instances of the same text to be added to maintainer scripts. =head1 SEE ALSO L, The Common Lisp in Debian Manual: S> =head1 AUTHOR RenE van Bevern =cut use strict; use File::Find; use Debian::Debhelper::Dh_Lib; init(); my $common_lisp_systems = "/usr/share/common-lisp/systems/"; my $common_lisp_sources = "/usr/share/common-lisp/source/"; my $common_lisp_bin = "/usr/lib/common-lisp/bin/"; my @interesting_files = ("fasl", "x86f", "asd", "fas"); my %formats = ( "# FASL" => "sbcl", "FASL FILE output from" => "cmucl", '\(SYSTEM::VERSION ' => "clisp", "\177ELF" => "ecl"); my %version_info = ( "sbcl" => '--noinform --noprint --eval "(progn (format t \"~A~&\" sb-fasl:+fasl-file-version+) (quit))"', "cmucl" => '-quiet -noinit -batch -eval "(progn (format t \"~A~&\" (c:backend-fasl-file-version c:*backend*)) (quit))"', "clisp" => '-x --quiet "(car (system::version))"', "ecl" => '-eval "(progn (format t \"~A~&\" (lisp-implementation-version)) (quit))"' ); sub make_substvars { addsubstvar(shift, "misc:Depends", "common-lisp-controller", ">= 5.11"); } sub get_type { my $filename = shift; if ($filename =~ m/.+\.asd$/) { return("asd"); } else { open(FILE, $filename) || error("Could not open " . $filename . " for reading"); my $line = ; foreach my $magic (keys %formats) { if($line =~ m/^$magic/) { close(FILE); return($formats{$magic}); } } close(FILE); return("unknown"); } } foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp = tmpdir ($package); my %matches; # traverse common-lisp/source directory and record interesing # files) if ( -d $tmp) { find(sub { foreach my $format (@interesting_files) { if ($File::Find::name !~ /^$tmp$common_lisp_systems.*/ && $File::Find::name =~ m/.+\.$format$/) { push(@{$matches{get_type($_)}}, $File::Find::name); } } }, $tmp); } my $implementation = shift; # find out fasl versions for implementations and add dependencies # to them if(! $dh{D_FLAG}) { foreach my $impl (keys %matches) { # only add dependencies on implementation if the # implementation is not the one to be installed if($impl ne "unknown" && $impl ne "asd" && !($implementation && $impl eq $implementation)) { if ( -x "/usr/bin/" . $impl ) { my $fasl_version = `$impl $version_info{$impl}`; if ($impl eq "sbcl" || $impl eq "clisp") { addsubstvar($package, "misc:Depends", $impl . "-fasl-loader-" . $fasl_version, ""); } elsif ($impl eq "cmucl") { addsubstvar($package, "misc:Depends", "$impl", ">= " . sprintf("%X", $fasl_version)); addsubstvar($package, "misc:Depends", "$impl", "< ". sprintf("%X", $fasl_version + 1)); } elsif ($impl eq "ecl") { addsubstvar($package, "misc:Depends", "$impl", ">= " . $fasl_version); } } else { warning("Implementation " . $impl . " seems not to be " . "installed on this system to build the " . "binary files included in this package. If " . "this package is part of the implementation" . "itself, ignore this warning."); } } } } } dh-lisp-0.7.1/postinst-clc-implementation0000644000000000000000000000065211465517100015340 0ustar case "$1" in configure) if [ -x /usr/lib/common-lisp/bin/"#IMPLEMENTATION#.sh" ] && which register-common-lisp-implementation > /dev/null; then register-common-lisp-implementation "#IMPLEMENTATION#" fi ;; abort-upgrade|abort-remove|abort-deconfigure) if which register-common-lisp-implementation > /dev/null; then unregister-common-lisp-implementation "#IMPLEMENTATION#" fi ;; esac dh-lisp-0.7.1/prerm-clc-source0000644000000000000000000000030511465517100013050 0ustar if [ "$1" = "remove" ] || [ "$1" = "upgrade" ] || [ "$1" = "deconfigure" ]; then if which unregister-common-lisp-source > /dev/null; then unregister-common-lisp-source "#SYSTEMDIR#" fi fi dh-lisp-0.7.1/postinst-clc-source0000644000000000000000000000020611465517100013606 0ustar if [ "$1" = "configure" ] && which register-common-lisp-source > /dev/null; then register-common-lisp-source "#SYSTEMDIR#" fi dh-lisp-0.7.1/prerm-clc-implementation0000644000000000000000000000033211465517100014575 0ustar if [ "$1" = "remove" ] || [ "$1" = "upgrade" ] || [ "$1" = "deconfigure" ]; then if which unregister-common-lisp-implementation > /dev/null; then unregister-common-lisp-implementation "#IMPLEMENTATION#" fi fi dh-lisp-0.7.1/debian/0000755000000000000000000000000011535143053011167 5ustar dh-lisp-0.7.1/debian/README.Debian0000644000000000000000000000105511534722317013236 0ustar For dh-lisp 0.7.0 ================= dh-lisp 0.7.0 has been released. This is the first step of the removal of c-l-c. From now on, new common lisp packages will not depend on c-l-c. Users should not use CLC:CLC-REQUIRE any more. It would be removed in the future. Developers had better get rid of dh-lisp from 'Build-Depends'. For compatibility, keeping dh-lisp is safe, but it does nothing. For the implementation maintainers, .sh and install-clc.lisp are useless now. Please consider redebianizing. -- Desmond O. Chang dh-lisp-0.7.1/debian/compat0000644000000000000000000000000211465517100012365 0ustar 7 dh-lisp-0.7.1/debian/source/0000755000000000000000000000000011465517100012467 5ustar dh-lisp-0.7.1/debian/source/format0000644000000000000000000000001511465517100013676 0ustar 3.0 (native) dh-lisp-0.7.1/debian/changelog0000644000000000000000000001173511534722317013055 0ustar dh-lisp (0.7.1) unstable; urgency=low * declare/initialize $implementation (Closes: #616676) * debian/README.Debian + add README.Debian for the incompatible change since 0.7.0 -- Desmond O. Chang Sun, 06 Mar 2011 23:04:51 +0800 dh-lisp (0.7.0) unstable; urgency=low * do not link asd files * do not generate maintainer scripts for c-l-c * do not generate c-l-c dependency for library packages * do not install implementation control script * do not create maintainer scripts for c-l-c * do not generate c-l-c dependency for implementation packages * debian/control + change Standards-Version to 3.9.1 + modify package description -- Desmond O. Chang Tue, 04 Jan 2011 06:59:16 +0800 dh-lisp (0.6.6) unstable; urgency=low * escape regex metachars in the pathname of ASD files (Closes: #588294) * add dh addon for dh_lisp * debian/copyright: + add copyright info about Peter Van Eynde and me * debian/control: + add me into Uploaders + change Standards-Version to 3.9.0 * debian/source/format: + change source package format to 3.0 (native) * debian/rules: + use debhelper only, remove cdbs related code -- Desmond O. Chang Fri, 16 Jul 2010 02:19:29 +0800 dh-lisp (0.6.5) unstable; urgency=low * gitify, take ownership. (Closes: #548775) * Updated Standards Version no changes * Now in the Lisp Section -- Peter Van Eynde Sat, 07 Nov 2009 15:33:57 +0100 dh-lisp (0.6.4) unstable; urgency=low * dh_lisp: remove pod2man error -- René van Bevern Fri, 13 Feb 2009 16:40:40 +0100 dh-lisp (0.6.3) experimental; urgency=low * upload to experimental because of lenny freeze * postinst-*, prerm-*: do not generate full pathnames to common-lisp-controller's binaries in maintainer scripts of Common Lisp packages * debian/control: + set Maintainer to pkg-common-lisp and myself as uploader + remove duplicate build dependencies + bump policy version + use Homepage field and point it to the pkg-common-lisp project -- René van Bevern Wed, 11 Feb 2009 00:58:56 +0100 dh-lisp (0.6.2) unstable; urgency=low * debian/control: + ASDF: another (not advanced) system definition facility. (closes: #369019) + update Standards-Version + cdbs to Build-Depends instead of Build-Depends-Indep -- René van Bevern Tue, 30 May 2006 18:43:40 +0200 dh-lisp (0.6.1) unstable; urgency=low [René van Bevern] * debian/control: update e-mail address [Peter van Eynde] * fix some spelling mistakes in the documentation (i.e. manual page) -- René van Bevern Tue, 18 Apr 2006 08:56:49 +0200 dh-lisp (0.6) unstable; urgency=low * Support for ECL + does not misinterpret ECL's FASLs as Clisp's anymore. + automatically adds dependency on current ECL if ECL's FASLs are found + for the above to work, dh_lisp now guesses object type by looking inside the files instead of looking at their names + depend on common-lisp-controller 5.11 by default -- René van Bevern Fri, 17 Mar 2006 11:08:59 +0100 dh-lisp (0.5) unstable; urgency=low * update package description with information of target groups -- René van Bevern Tue, 28 Nov 2005 18:25:15 +0100 dh-lisp (0.4) unstable; urgency=low * re-add previously removed error message as a non-dying warning * do not try to add implementation-dependencies if dh_lisp is called to install this implementation (no curcular dependencies) * offer a switch '-d' to optionally disable the generation of implementation-dependencies * do not add dependencies for common-lisp-controller if scripts are not being generated * generate common-lisp-controller dependencies with version 4.23 instead of 4.2, it includes several security updates and is needed for slime (closes: #335974) -- René van Bevern Sat, 29 Oct 2005 14:20:57 +0200 dh-lisp (0.3) unstable; urgency=low * dh_lisp: do not die if implementation for a binary format is not installed on the system, this is bad for building implementations themselves * debian/copyright: update address of the Free Software Foundation -- René van Bevern Fri, 21 Oct 2005 18:08:43 +0200 dh-lisp (0.2) unstable; urgency=low * add dependencies on appropriate CL implementations if precompiled files are found in the package (works for SBCL, Clisp and CMUCL) * scan the whole package for interesting data (asd, fasl, fas, x86f) instead of only usr/share/common-lisp/source * debian/control: + add debhelper to Build-Depends:, because it is used in clean target + update description with new functionality -- René van Bevern Sat, 8 Oct 2005 14:10:07 +0200 dh-lisp (0.1) unstable; urgency=low * Initial Release. -- René van Bevern Fri, 5 Aug 2005 22:43:11 +0200 dh-lisp-0.7.1/debian/control0000644000000000000000000000174211510456015012574 0ustar Source: dh-lisp Section: lisp Priority: optional Maintainer: Debian Common Lisp Team Uploaders: Peter Van Eynde , Desmond O. Chang Build-Depends: debhelper (>= 7.0.50~) Build-Depends-Indep: perl5 Standards-Version: 3.9.1 Vcs-Git: git://git.debian.org/pkg-common-lisp/dh-lisp.git Vcs-Browser: http://git.debian.org/?p=pkg-common-lisp/dh-lisp.git;a=summary Package: dh-lisp Architecture: all Depends: ${misc:Depends}, debhelper (>= 7), ${perl:Depends} Enhances: debhelper Homepage: http://pkg-common-lisp.alioth.debian.org Description: Debhelper to support Common Lisp related packages This debhelper addon targets Debian package maintainers of packages related to Common Lisp. It automates the processes of making a package conform to the Common Lisp in Debian Manual: . It adds dependencies to required Common Lisp implementations if precompiled object files for them are included in the package. dh-lisp-0.7.1/debian/rules0000755000000000000000000000014311465517100012245 0ustar #!/usr/bin/make -f %: dh $@ override_dh_installman: pod2man dh_lisp > dh_lisp.1 dh_installman dh-lisp-0.7.1/debian/install0000644000000000000000000000022511465517100012557 0ustar dh_lisp usr/bin prerm-* usr/share/debhelper/autoscripts postinst-* usr/share/debhelper/autoscripts lisp.pm usr/share/perl5/Debian/Debhelper/Sequence dh-lisp-0.7.1/debian/copyright0000644000000000000000000000221411465517100013121 0ustar This is dh-lisp, written and maintained by René van Bevern on Fri, 5 Aug 2005 22:43:11 +0200. The original source can always be found at: http://cl-debian.alioth.debian.org/repository/rvb/dh-lisp Copyright (C) 2005 René van Bevern 2009 Peter Van Eynde 2010 Desmond O. Chang License: 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 package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. dh-lisp-0.7.1/debian/manpages0000644000000000000000000000001111465517100012675 0ustar dh_lisp.1dh-lisp-0.7.1/lisp.pm0000644000000000000000000000023211465517100011247 0ustar #! /usr/bin/perl # debhelper sequence file for dh_lisp use warnings; use strict; use Debian::Debhelper::Dh_Lib; insert_after("dh_perl", "dh_lisp"); 1;