Re: Re: Bug#760592: ITP: bsdowl -- bmake macros for building OCaml projects, TeX projects, and more
- To: email@example.com
- Subject: Re: Re: Bug#760592: ITP: bsdowl -- bmake macros for building OCaml projects, TeX projects, and more
- From: Michael Grünewald <firstname.lastname@example.org>
- Date: Mon, 27 Oct 2014 12:11:33 +0100
- Message-id: <[🔎] 544E2865.email@example.com>
- In-reply-to: <6CBF6DAC-8A26-47DA-8234-B9CD0A28AD01@gmail.com>
- References: <6CBF6DAC-8A26-47DA-8234-B9CD0A28AD01@gmail.com>
I started to work on packaging. This is pretty stalled, as it is very
hard to find adequate documentation or help. I am unsure how I can
package the software I write to help Debian users to install and use it.
The problem I have now is:
% debuild -us -uc
dpkg-source: info: local changes detected, the modified files are:
Writing a config.log file is a normal side-effect of the configuration
step. How do I tell the package building system about this? My favourite
search engine could not help me, many users having a similar issue are
redirected to “We use quilt for managing patches” which does not seem
very suited to my problem.
Side note #1 — Porting to FreeBSD or MacPorts
I wrote ports of bsdowl for FreeBSD and MacPorts, it took me less than
an hour for each port, while I already invested more than five hours
(well six, after writing this!) on the Debian package without having
reached an end.
The bsdowl software uses bmake, the BSD version of make. Aside from
that, it has a pretty standard installation procedure
bmake -r install
No patch, etc. nothing. Understanding why I need to work more than five
hours to get this simplistic software packaged in Debian is beyond me.
To understand this difference, it seems important to note that FreeBSD
and MacPorts enjoy:
- A well identified official documentation
For FreeBSD it is the Porter's handbook
For MacPorts is is the port documentation
- A well written official documentation
For MacPorts the documentation is extremely well written and very
short. The introduction is very useful because it describes the phases I
will go through to prepare my port (configure, build, etc.), which
corresponds to what I do when I manually install software. It is
therefore something familiar and useful to picture oneself's progresses.
The documentation and the system are splendid, they make porting simple
software just as simple as possible.
For FreeBSD the documentation might be not so well written as MacPorts
but is still clear and have a “Quick Porting” chapter which will let me
quickly port simple software. I think the printed version of that
chapter might be well under 5 pages.
For Debian (in
https://www.debian.org/doc/manuals/maint-guide/first.en.html) I wether
find a useful step-to-go-through list nor a minimal example that I can
use. Also, there is so many tools and layers involved that minimal
examples found elsewhere left me with esoteric error messages, which are
not clearly related to the builld/install procedure or the command I
used. Port systems used by FreeBSD and MacPorts are very thin, so most
errors are fairly clear (ulp, it tried to copy the files in the worng
directory!) and fixing them is most of the time straightforward.
Side note #2 — About documentation:
There is too many guides, too many tools, all of them lack information I
can use to answer the question “Is this the document I have to read to
package my software?”. Skimming through these documents looking for
keywords related to my problem only added to my confusion. From the
wiki, which looks to me as a kind of official documentation:
There is also:
These guides use various tools (debuild, debhelper and maybe more) so
instead of completing themselves they just offer me alternative directions.
Side note #3 — Community
Some recommended help channels (such as #debian-mentors) are invitation
only. This should be mentioned in
https://www.debian.org/doc/manuals/maint-guide, where the recommendation