vcswatch reports that
this package seems to have new commits in its VCS but has
not yet updated debian/changelog. You should consider updating
the Debian changelog and uploading this new version into the archive.
Here are the relevant commit logs:
commit 511c65e28799c08d17ebdf7b10a4e15e702958f7
Merge: 61ec582 4590105
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Sun May 9 16:47:26 2021 +0200
Merge branch 't/build-improvements'
The build system fails in unexpected ways when required programs like
m4 or flex are not installed. One particular problem is a construct
of the form
$(M4) ... > $@
in the recipe of the lopsub.h target. If m4 is not installed, this
results in an empty lopsub.h file, which is considered up-to-date
by subsequent runs of make(1). The subsequent compilation of lsg.c
succeeds despite of the empty lopsub.h, but the resulting executable
segfaults.
The reason is that lsg1.c includes lopsub.h to declare lls_version(),
but due to lopsub.h being empty, the declaration is missing and the
compiler implicitly assumes an int return value rather than char *.
This patch series addresses this problem in several ways. With the
series applied:
* the build fails early if m4 or flex are not installed,
* missing function declarations are considered errors rather than warnings,
* incompletely written targets are removed by make(1).
commit 45901057b4103eeb745e080521678c0e43e0eca1
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Mon Apr 26 00:57:12 2021 +0200
build: Error out on implicit function declarations.
Replacing lopsub.h by an empty file builds a buggy lopsubgen-stage1
executable which segfaults due to a format string mismatch caused
by the implicit declaration of lls_version(). In this package all
functions are supposed to be declared, so let's fail the build if
any undeclared functions are found.
Tested-by: Alex Gietz <oss@mcdinner.de>
commit 73d2280b56e07b3115c14deaa994114a462afd33
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Mon Apr 26 00:56:16 2021 +0200
build: Improve handling of compiler options.
Introduce LLS_CFLAGS and STRICT_CFLAGS to avoid duplicating the flags
in the various cc recipes. We don't touch CFLAGS or CPPFLAGS in the
Makefile but include it the cc commands to let the user override
our settings.
commit c1840c5bb555ba09c09bdeb2f29305681038317f
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Mon Apr 26 00:17:37 2021 +0200
build: Activate .DELETE_ON_ERROR.
Since m4 lacks the -o option to specify an output file, we redirect
stdout in several recipes, in particular in the recipe that creates
lopsub.h from lopsub.h.m4. If the m4 command fails, lopsub.h will
be incomplete or empty, yet it will be considered as up-to-date
by make(1).
This patch teaches make(1) to remove such incomplete output files
on errors.
commit 7623e601612eb36cf86511b40fef3f5a20e8b834
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Mon Apr 26 00:04:05 2021 +0200
build: Bail out early if m4 or lex don't exist.
This gives a decent error message on the attempt to run make(1) on a
system where one or both of these essential programs are not installed.
A previous version of the patch used .SHELLSTATUS instead of the
dummy variable, but this did not work with make-4.1 which ships
with Ubuntu-18.04.
Suggested-by: Alex Gietz <oss@mcdinner.de>
commit d6f28609ba3b250079ac0c55422dafdabb6c0c71
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Mon Apr 26 00:48:03 2021 +0200
build: Remove duplicate -g in cc command.
Specifying -g more than once has no effect.
commit 61ec5823d7b64fcdfab8c0ddb959bd68dd90e07a
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Tue Jul 7 20:34:19 2020 +0200
build: Avoid "html" rule with empty recipe.
This was over-engineered, and only one of the three rules which
create .html files depends on both the header and the footer.
commit 76e953dde7347553b405863201dfb7859674206c
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Sat Apr 25 23:09:41 2020 +0200
Fix build target www.
This target is supposed to create the html files of the home page.
This broke one year ago when the build system was instructed to create
compressed man pages. Fortunately, the fix is trivial.
Fixes: f35b70fc3e8656f71437cc85062da31488acd781
commit b755936434b8eb302f0e990b976350c305f6706d
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Thu Dec 12 16:49:16 2019 +0100
Fix three typos.
These were pointed out by lintian. See the lintian report page:
https://lintian.debian.org/full/maan@tuebingen.mpg.de.html
commit 2d0464872cec02b53f5bb5ca2a037cb764641c1f
Author: Chris Lamb <lamby@debian.org>
Date: Mon Dec 2 10:44:23 2019 +0100
Make the build reproducible.
Whilst working on the Reproducible Builds effort [0] we noticed that
liblopsub could not be built reproducibly.
This is because it calls "gzip" manually without the -n
flag. This should have been reported by lintian via the
package-contains-timestamped-gzip tag.
[0] https://reproducible-builds.org/
commit a135d7d62a182f933b842509d61156c76d44f013
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Sat Jul 13 14:52:15 2019 +0200
lopsub-1.0.3-2
Bump the debian version number to quickly land the two recent fixes
for reproducible builds.
commit ef6396807288ea0f635ab50bc789a162b84c67ba
Author: Andre Noll <maan@tuebingen.mpg.de>
Date: Fri Jul 12 20:34:45 2019 +0200
Makefile: Get rid of superfluous '+' character in date.
Commit bb3a974325f (Don't embed compile-time timestamps into generated
files) from a couple of weeks ago introduced a leading '+' in case
SOURCE_DATE_EPOCH is not set because DATE_FMT already contains the
'+' character for the argument to date(1), The superfluous '+'
becomes part of the generated man pages, which looks a bit weird.
commit 0a8299dd8da7dba7437550d12bf180d9e10d512b
Author: Chris Lamb <lamby@debian.org>
Date: Fri Jul 12 07:59:50 2019 +0200
lsg.c: Make the output of lopsubgen reproducible.
Whilst working on the Reproducible Builds effort [0], we noticed that
liblopsub generates output that is not reproducible. The lopsubgen
utility does not respect SOURCE_DATE_EPOCH [1] and thus packages such
as src:tfortune are rendered unreproducible as they then encode the
build date and time.
This patch makes lopsubgen honour SOURCE_DATE_EPOCH.
[0] https://reproducible-builds.org/
[1] https://reproducible-builds.org/specs/source-date-epoch/
Signed-off-by: Andre Noll <maan@tuebingen.mpg.de>
commit bb3a974325f5967c38da61ff61b5f7c732fcfa59
Author: Chris Lamb <lamby@debian.org>
Date: Fri May 31 19:54:04 2019 +0200
Don't embed compile-time timestamps into generated files.
Currently the build is not reproducible because make(1) runs
date(1) to provide the month and the year for the man page. Fix
this by honouring SOURCE_DATE_EPOCH as described in
https://reproducible-builds.org/specs/source-date-epoch/
Signed-off-by: Andre Noll <maan@tuebingen.mpg.de>