[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