I created a file that can be used with the files linked at <http://news.dieweltistgarnichtso.net/bin/redo-sh.html> and the equivs-build(1) command to build a Debian package for redo. I have attached it to this email and also made it available on my web site <http://news.dieweltistgarnichtso.net/bin/redo-sh.ctl>.
I have several questions regarding the equivs-build approach: • Is it allowed by Debian policy to package a program this way? My implementation of redo(1) only consists of Bourne Shell scripts and can be packaged as-is without invoking a compiler or similar program. • How do I find the version of coreutils my program depends on? It needs cut(1), md5sum(1), mv(1), rm(1), sh(1) and stat(1). Is it possible to do a binary search on all past Debian packages to find out which one lacked any of these binaries? • Should I explain why my program suggests coreutils in the description? The answer is that it has more functionality on systems with shuf(1). • How can I specify that the program is licensed AGPL-3 or later? • Do I need to write a man page for every redo utility? • Should redo utilities that should only be invoked from redo build scripts (“dofiles”) reside in “/usr/lib/redo”, not in “/usr/bin”? • What is good or bad about the current description of the package? -- Nils Dagsson Moskopp // erlehmann <http://dieweltistgarnichtso.net>
pgpIjwZiVYYAS.pgp
Description: PGP signature
### Commented entries have reasonable defaults. ### Uncomment to edit them. # Source: <source package name; defaults to package name> Section: devel Priority: optional Homepage: http://news.dieweltistgarnichtso.net/bin/redo-sh.html Standards-Version: 3.9.2 Package: redo-sh Version: 2016-03-02 Maintainer: Nils Dagsson Moskopp <nils+r...@dieweltistgarnichtso.net> # Pre-Depends: <comma-separated list of packages> Depends: coreutils | busybox | busybox-static # Recommends: <comma-separated list of packages> Suggests: coreutils Provides: redo # Replaces: <comma-separated list of packages> Architecture: all # Multi-Arch: <one of: foreign|same|allowed> # Copyright: AGPL-3 # Changelog: <changelog file; defaults to a generic changelog> # Readme: <README.Debian file; defaults to a generic one> # Extra-Files: <comma-separated list of additional files for the doc directory> Files: redo /usr/bin redo-always /usr/bin redo-dot /usr/bin redo-ifchange /usr/bin redo-ifcreate /usr/bin redo-ood /usr/bin redo-targets /usr/bin redo-sources /usr/bin redo-stamp /usr/bin Description: Top-down software build system, Bourne Shell implementation redo is a utility which controls the generation of target files from source files. It determines automatically which targets need to be (re)created and issues commands to (re)create them. In contrast to the widely-used make program, redo records dependencies during the build. redo build scripts (“dofiles”) are shell scripts by default, but can be written in other languages. . For the design, see “Rebuilding target files when source files have changed” from Daniel J. Bernstein (DJB) <http://cr.yp.to/redo.html>. . This package contains an implementation of redo in Bourne Shell. For an overview of other redo implementations, see “Introduction to redo” <http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/introduction-to-redo.html>.