[debhelper-devel] Debhelper only installs half of a binary with attached lisp image

Gunter Königsmann gunter at peterpall.de
Fri Oct 27 04:51:17 UTC 2017


Dear all,

Not an expert in lisp nor in debhelper and I hope this is the right
place to ask for help:

I've found out that maxima (which is written in lisp) can be compiled to
a fairly distribution-independent program if it
 - is compiled with sbcl and
 - if sbcl is asked to create a machine-independent binary.

The machine-independent binary consists of a small lisp interpreter and
the actual lisp program that is somehow appended to the lisp interpreter
in order to keep all things in a single file
(https://www.peterpall.de/maxima/maxima-sbcl).

What debhelper includes in the debian package, though, is only the lisp
interpreter (https://www.peterpall.de/maxima/maxima-sbcl.debian).

I've already tried to override dh_strip. But it seems that dh_strip
isn't the thing that removes the actual lisp program from the binary.

For a debian package that is included in a linux distribution creating a
stand-alone package doesn't make too much sense as we can just require
the right sbcl version to be installed along with the package.

But the stand-alone.deb file I want to offer on the download page cannot
enforce the right sbcl version to be installed => Could you give me a
hand in how to make debhelper not remove the lisp program from my maxima
binary?

Thanks a lot,
and kind regards,

    Gunter.
-------------- next part --------------
#!/usr/bin/make -f

# GCL comes in two flavours. We need the ANSI one.
export GCL_ANSI=t

# The standard rule.
%:
	dh $@

# Tell configure to produce a build for three lisps.
override_dh_auto_configure:
	dh_auto_configure -- --enable-clisp -enable-sbcl-exec

override_dh_auto_test:

# In order to keep the packages small debhelper normally removes all
# debug symbols and similar things. Unfortunately in the sbcl case
# this includes most of maxima => we need an exception.
override_dh_auto_strip:
	dh_strip -X sbcl

override_dh_installinfo:
	dh_installinfo
	dh_install usr/share/info/maxima-index.lisp

get-orig-source:
	uscan --force-download --repack --rename --destdir .

# This one is really important: The maxima source contains a folder named
# "binary" whose existance without declaring "binary" as a phony make target
# will signal make that it doesn't need to build the binary.
.PHONY: get-orig-source binary

binary:
	dh $@


More information about the debhelper-devel mailing list