Bug#1077005: CFLAGS+=foo etc stopped working / FIXED
Hello. Thanks for your explanations. I was misunderstanding your concerns and overreacting. The first attached commit fixes and tests the CFLAGS+=foo issue. The other one is a draft, only here to open the discussion about the way to deal with packages using dpkg private macros. The choosen strategy will probably eventually be merged into the first commit. According to sources.debian.org, * no package relies on dpkg_lazy_eval * 40 packages rely on dpkg_late_eval How should we proceed now? Do you think fixing the 40 packages is the first thing to do?From 70c449652412aab2b96cc3831bef2f7fff11b896 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 29 Jul 2024 17:25:23 +0200 Subject: [PATCH 1/2] scripts/mk: reduce the number of subprocess again In architecture.mk, each unset variable was spawning a shell. In buildapi.mk, each expansion was spawning a shell. Both default.mk and vendor.mk expand DPKG_BUILD_API. In buildflags.mk, each first expansion of an unset variable was spawning a shell. DPKG_EXPORT_BUILDFLAGS expands all variables. In pkg-info.mk, each variable was spawning its own shell. In vendors.mk the usage was correct but we switch to use the same mechanism for consistency. Compared to previous attempt: * fix and test CFLAGS += -Dfoo * document what is expected of the lazy evaluation --- scripts/mk/Readme | 29 + scripts/mk/architecture.mk | 14 -- scripts/mk/buildapi.mk | 10 +- scripts/mk/buildflags.mk | 36 ++-- scripts/mk/pkg-info.mk | 33 + scripts/mk/vendor.mk | 10 +++--- scripts/t/mk/buildflags.mk | 3 +++ 7 files changed, 103 insertions(+), 32 deletions(-) create mode 100644 scripts/mk/Readme diff --git a/scripts/mk/Readme b/scripts/mk/Readme new file mode 100644 index 0..6e582cede --- /dev/null +++ b/scripts/mk/Readme @@ -0,0 +1,29 @@ +$(call dpkg_lazy_set,VARIABLE,COMPUTATION) + + Assigns VARIABLE so that the first $(VARIABLE) expansion triggers + the expansion of the expensive COMPUTATION, and stores the result + into a cache. This $(VARIABLE) expansion and all following ones + will return the value of COMPUTATION without expanding it again. + + The value itself may contain references to other variables or + functions. They will be expanded once, when $(VARIABLE) is first + expanded. + + An empty value is allowed, and distinct from "not computed yet". + + After that, it is possible to use 'VARIABLE+=foo' with the usual + meaning, although DEB_CFLAGS_MAINT_APPEND:=foo and similar + constructs should be preferred when possible. + +$(eval $(call dpkg_lazy_eval,VAR1,COMPUTATION)) +$(eval $(call dpkg_lazy_eval,VAR2,COMPUTATION)) +... + + Assigns VAR1, VAR2... so that the first expansion of any variable + triggers COMPUTATION. COMPUTATION must return an empty string and + its side effects must assign all of DPKG_CACHE_VAR1, + DPKG_CACHE_VAR2... with :=. + +When debugging the lazy evaluation, it may be convenient to set +COMPUTATION to $$(computation) and start the definition of computation +with $(info RUN). diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk index c2f6a054d..755863257 100644 --- a/scripts/mk/architecture.mk +++ b/scripts/mk/architecture.mk @@ -6,9 +6,19 @@ ifndef dpkg_architecture_mk_included dpkg_architecture_mk_included = yes -dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) +# Run a subprocess then assign all unset or empty variables. +dpkg_architecture_run = \ + $(foreach line,$(shell dpkg-architecture),\ +$(eval $(subst =,?=,$(line -dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1)) +# Run if at least a variable is unset or empty. Once all variables +# are assigned, the test never succeeds again. +define dpkg_architecture_setvar + ifndef $1 +$$(dpkg_architecture_run) + endif + export $1 +endef $(foreach machine,BUILD HOST TARGET,\ $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ diff --git a/scripts/mk/buildapi.mk b/scripts/mk/buildapi.mk index 3a1f16405..4ee5b7115 100644 --- a/scripts/mk/buildapi.mk +++ b/scripts/mk/buildapi.mk @@ -3,8 +3,16 @@ ifndef dpkg_buildapi_mk_included dpkg_buildapi_mk_included = yes +define dpkg_lazy_eval ?= + $1 = $$(DPKG_CACHE_$1) + DPKG_CACHE_$1 = $2$$(call DPKG_CACHE_$1) +endef +dpkg_lazy_set ?= $(eval $(call dpkg_lazy_eval,$1,$$(eval DPKG_CACHE_$1 := $2))) + # Default API level when not set. -DPKG_BUILD_API ?= $(shell dpkg-buildapi) +ifndef DPKG_BUILD_API + $(call dpkg_lazy_set,DPKG_BUILD_API,$$(shell dpkg-buildapi)) +endif # We could use only built-in GNU make functions, but that seems too much # complexity given no integer operators, given that we currently have to diff --git a/script
Bug#1077005: CFLAGS+=foo etc stopped working
Michael has already replaced CFLAGS+=foo with DEB_CFLAGS_MAINT_APPEND:=foo https://salsa.debian.org/samba-team/samba/-/commit/505e4ff2084280b09eb1ecea277de056ff62684a Ironically, the debian/rules for samba contains the exact same optimization we are talking about: # Fast version of dpkg/architecture.mk defining all vars in one go ifeq (${DEB_HOST_MULTIARCH},) $(foreach d, $(shell dpkg-architecture | sed 's/=/?=/'), $(eval export $d)) endif
Bug#1077005: CFLAGS+=foo etc stopped working
Hello. > Hmm, at this point I'm starting to ponder whether to revert the > optimization commit for the Makefile fragment files, because this > is starting to feel like too much breakage, and then the fragment > code is becoming too hard to debug, or even test. This sentence seems a bit unfair. The new implementation has come with new regression tests, and does not increase the source complexity. > I've not yet looked into it, Nicolas if you can have a look please, > otherwise I might do the revert and another upload later today or so. I will investigate, but without much hope. The difference is probably caused by things like conflicting CFLAGS on the command line or in the environment, from debian/rules or dpkg-buildpackage, for ./configure or make, possibly kept by ./configure for make despite a now conflicting environment… This mess is probably one of the reasons why DEB_CFLAGS_MAINT_APPEND was introduced and CFLAGS+= deprecated in both the environment and debian/rules. Moreover, I cannot connect to buildds either. The fact that the previous lazy evaluation mechanism, in which the $(evals VAR=$(VAR)) trick is already present, did what you expect in some contexts does not make CFLAGS+= a supported interface, and your code could break in other contexts. Replacing CFLAGS+= foo with DEB_CFLAGS_MAINT_APPEND := foo in the broken packages seems more fruitful to me, and I would prefer to help with that. That would most probably fix this bug, does not hurt if the optimization is reverted, and will actively help if dpkg-buildpackage ever becomes the main entry point for package builds.
Bug#1076863: dpkg-deb: Weird errors from dpkg-deb while building some packages
Hello. > DEB_VERSION_UPSTREAM_REVISION not DEB_UPSTREAM_REVISION Good catch! > But it doesn't really matter anymore, once this part is removed. The removed part implements lazy evaluation and does matter for performances. Thanks to your diagnostic, we may now restore it. >From d713c8b47b16cee20e6bfe66aa5ba5b43d8129d6 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 25 Jul 2024 10:48:30 +0200 Subject: [PATCH 1/2] Revert "scripts/mk: Fix pkg-info.mk evaluation by adding new DEB_TIMESTAMP variable" This reverts commit c05f82972018d182fa296ef38384a1adddf5b6eb. --- scripts/mk/pkg-info.mk | 21 + scripts/t/mk/pkg-info.mk | 2 -- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/scripts/mk/pkg-info.mk b/scripts/mk/pkg-info.mk index 37bf42299..ddda4f736 100644 --- a/scripts/mk/pkg-info.mk +++ b/scripts/mk/pkg-info.mk @@ -8,9 +8,6 @@ # DEB_VERSION_UPSTREAM: package's upstream version. # DEB_DISTRIBUTION: distribution(s) listed in the current debian/changelog # entry. -# DEB_TIMESTAMP: source package release date as seconds since the epoch as -# specified in the latest debian/changelog entry (since dpkg 1.22.9), -# although you are probably looking for SOURCE_DATE_EPOCH instead. # # SOURCE_DATE_EPOCH: source release date as seconds since the epoch, as # specified by <https://reproducible-builds.org/specs/source-date-epoch/> @@ -29,12 +26,20 @@ dpkg_parsechangelog_run = $(eval $(shell dpkg-parsechangelog | sed -n '\ $$(eval DEB_VERSION_EPOCH_UPSTREAM:=\1\2\4)\ $$(eval DEB_VERSION_UPSTREAM_REVISION:=\2\3)\ $$(eval DEB_VERSION_UPSTREAM:=\2\4)/p;\ - s/^Timestamp: \(.*\)/$$(eval DEB_TIMESTAMP:=\1)/p')) + s/^Timestamp: \(.*\)/$$(eval SOURCE_DATE_EPOCH?=\1)/p')) -# Compute all the values in one go. -$(dpkg_parsechangelog_run) - -SOURCE_DATE_EPOCH ?= $(DEB_TIMESTAMP) +ifdef SOURCE_DATE_EPOCH + dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1))) + $(call dpkg_lazy_eval,DEB_DISTRIBUTION,$$(dpkg_parsechangelog_run)) + $(call dpkg_lazy_eval,DEB_SOURCE,$$(dpkg_parsechangelog_run)) + $(call dpkg_lazy_eval,DEB_VERSION,$$(dpkg_parsechangelog_run)) + $(call dpkg_lazy_eval,DEB_VERSION_EPOCH_UPSTREAM,$$(dpkg_parsechangelog_run)) + $(call dpkg_lazy_eval,DEB_VERSION_UPSTREAM,$$(dpkg_parsechangelog_run)) + $(call dpkg_lazy_eval,DEB_UPSTREAM_REVISION,$$(dpkg_parsechangelog_run)) +else + # We need to compute the values right now. + $(dpkg_parsechangelog_run) +endif export SOURCE_DATE_EPOCH endif # dpkg_pkg_info_mk_included diff --git a/scripts/t/mk/pkg-info.mk b/scripts/t/mk/pkg-info.mk index 6863ebb80..6eb37866d 100644 --- a/scripts/t/mk/pkg-info.mk +++ b/scripts/t/mk/pkg-info.mk @@ -6,7 +6,6 @@ TEST_DEB_VERSION_EPOCH_UPSTREAM = 1:2:3.4-5 TEST_DEB_VERSION_UPSTREAM_REVISION = 2:3.4-5-6 TEST_DEB_VERSION_UPSTREAM = 2:3.4-5 TEST_DEB_DISTRIBUTION = suite -TEST_DEB_TIMESTAMP = 1438697630 test_vars := \ DEB_SOURCE \ @@ -15,7 +14,6 @@ test_vars := \ DEB_VERSION_UPSTREAM_REVISION \ DEB_VERSION_UPSTREAM \ DEB_DISTRIBUTION \ - DEB_TIMESTAMP \ SOURCE_DATE_EPOCH \ # EOL -- 2.39.2 >From 6a334f57b6dd21a522258941fdd90d20c4d7197d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 25 Jul 2024 10:50:43 +0200 Subject: [PATCH 2/2] scripts/mk: fix #1076863 DEB_VERSION_UPSTREAM_REVISION but keep lazy expansion In e146a68a, the variables (list A) are assigned with a lazy expansion wrapper, so that first expansion triggers dpkg-parsechangelog and actually assigns the variables (list B) with their final values. A mispelling of DEB_VERSION_UPSTREAM_REVISION in (A) causes #1076863 and its clones (thanks to Michael Tokarev ). The issue was not detected by tests and hard to understand because (B) was correct, hiding the bug after any other expansion. For example, variables expansions within recipes were less likely to be affected because they happen long after plain assignments. Testing this for regression would require a separate test for each variable and does not seem worth the while. Commit c05f8297 fixes the bug but runs dpkg-parsechangelog each time a debian/rules including pkg-info.mk is parsed. This fix preserves lazy expansion. --- scripts/mk/pkg-info.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mk/pkg-info.mk b/scripts/mk/pkg-info.mk index ddda4f736..a51dd88e4 100644 --- a/scripts/mk/pkg-info.mk +++ b/scripts/mk/pkg-info.mk @@ -35,7 +35,7 @@ ifdef SOURCE_DATE_EPOCH $(call dpkg_lazy_eval,DEB_VERSION,$$(dpkg_parsechangelog_run)) $(call dpkg_lazy_eval,DEB_VERSION_EPOCH_UPSTREAM,$$(dpkg_parsechangelog_run)) $(call dpkg_lazy_eval,DEB_VERSION_UPSTREAM,$$(dpkg_parsechangelog_run)) - $(call dpkg_lazy_eval,DEB_UPSTREAM_REVISION,$$(dpkg_parsechangelog_run)) + $(call dpkg_lazy_eval,DEB_VERSION_UPSTREAM_REVISION,$$(dpkg_parsechangelog_run)) else # We need to compute the values right now. $(dpkg_parsechangelog_run) -- 2.39.2
Bug#1076568: dpkg: no longer evaluates variables in DEB_CPPFLAGS_MAINT_APPEND
Hello. Previous implementation was preventing one expansion with $(value), but this quotation is now counter-productive. Three commits are attached: 2/ regression test 3/ patch 1/ an unrelated suggestion inspired by this bug >From 67c012557c29edf884a6535d8b3120d36d6ebd85 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 19 Jul 2024 13:20:06 +0200 Subject: [PATCH 1/3] scripts/mk: ensure dpkg_datadir is computed once dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST))) is equivalent to ifndef dpkg_datadir dpkg_datadir = $(..) endif $(..) is computed each time dpkg_datadir is expanded, so the result will be wrong if MAKEFILE_LIST has grown meanwhile. Assign with := so that the value is computed and never expanded again. --- scripts/mk/buildtools.mk | 4 +++- scripts/mk/vendor.mk | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk index 1f63beede..def15c103 100644 --- a/scripts/mk/buildtools.mk +++ b/scripts/mk/buildtools.mk @@ -28,7 +28,9 @@ ifndef dpkg_buildtools_mk_included dpkg_buildtools_mk_included = yes -dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST))) +ifndef dpkg_datadir + dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST))) +endif include $(dpkg_datadir)/architecture.mk # We set the TOOL_FOR_BUILD variables to the specified value, and the TOOL diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk index 43898d956..d257eddcb 100644 --- a/scripts/mk/vendor.mk +++ b/scripts/mk/vendor.mk @@ -36,7 +36,9 @@ ifndef dpkg_vendor_mk_included dpkg_vendor_mk_included = yes -dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST))) +ifndef dpkg_datadir + dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST))) +endif include $(dpkg_datadir)/buildapi.mk dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1))) -- 2.39.2 >From 5360de48a1534b0d72229f5476fd4b2f65a237bc Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 19 Jul 2024 14:24:22 +0200 Subject: [PATCH 2/3] scripts/mk: test expansions passed to dpkg-buildflags Regression test for #1076568. --- scripts/t/mk/buildflags.mk | 4 1 file changed, 4 insertions(+) diff --git a/scripts/t/mk/buildflags.mk b/scripts/t/mk/buildflags.mk index 74ccac04b..bc7e6a849 100644 --- a/scripts/t/mk/buildflags.mk +++ b/scripts/t/mk/buildflags.mk @@ -10,6 +10,10 @@ TEST_CXXFLAGS := set-host DEB_CXXFLAGS_FOR_BUILD_MAINT_SET := set-build TEST_CXXFLAGS_FOR_BUILD := set-build +DEB_CFLAGS_MAINT_APPEND = -DTEST_MAKE_EXPANSION=$(expanded_on_demand) +expanded_on_demand := contents +TEST_CFLAGS += -DTEST_MAKE_EXPANSION=contents + DPKG_EXPORT_BUILDFLAGS := 1 include $(srcdir)/mk/buildflags.mk -- 2.39.2 >From 9ef54cf63a24e489802dcf8a814618b633c8308a Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 19 Jul 2024 14:08:10 +0200 Subject: [PATCH 3/3] scripts/mk: fix expansions passed to dpkg-buildflags. Closes: #1076568 --- scripts/mk/buildflags.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mk/buildflags.mk b/scripts/mk/buildflags.mk index a8eac9e54..bc0448881 100644 --- a/scripts/mk/buildflags.mk +++ b/scripts/mk/buildflags.mk @@ -57,7 +57,7 @@ dpkg_buildflags_run = $(eval $(shell \ $(foreach operation,SET STRIP APPEND PREPEND,\ DEB_$(flag)_MAINT_$(operation))),\ $(if $(value $(exported)),\ - $(exported)="$(value $(exported))"))\ + $(exported)="$($(exported))"))\ dpkg-buildflags | sed 's/\([^=]*\)\(.*\)/$$(eval \1:\2)/')) ifdef DPKG_EXPORT_BUILDFLAGS -- 2.39.2
Bug#1076252: gcc-or1k-elf: Unused build-dependency on GNU autogen
Hello. A commit removing the dependency will be part of next upload. Thanks for spotting this.
Bug#1074577: gnat ftbfs with glibc from experimental
Source: gcc-13 Followup-For: Bug #1074577 Matthias Klose: > Simon Chopin came up with a conditional to work with both variants [before and after glibc introduces __USE_TIME64_REDIRECTS] > #if defined(__USE_TIME64_REDIRECTS) || (__TIMESIZE == 32 && __USE_TIME_BITS64) I have forwarded this upstream as version 11. This changes the libgnat-13 sources (System.OS_Constants). Most Ada packages will require a bin-NMU after you upload gcc-13, ideally before people start filling FTBS bug reports. I take the opportunity to apply some postponed changes. I do not commit them because I have tested no build, but the only changes since the (tested) version 10 are * the line above, tested by Simon Chopin in Ubuntu * unapplying small style changes reviewed by upstream From: Nicolas Boulenguez Subject: [PATCH] Ada: update patches for PR114065 (time_64) to v11 The fix 2bacf86d for #1074577 by Simon Chopin at https://bugs.launchpad.net/ubuntu/+source/gcc-13/+bug/2071605 requires a rebuild of all Ada libraries, so we might as well * update all patches to version 11 * apply the parts fixing bugs, but not the style suggestions --- ...ersions-with-C-struct-timeval-from-GN.diff | 143 - ...ersions-with-C-struct-timespec-from-A.diff | 167 - ...ersions-with-C-time_t-from-System.OS_.diff | 79 --- ...imeval-and-timespec-definitions-and-c.diff | 604 ++ ...-unneeded-x32-variant-of-System.Linux.diff | 146 - ...ed-posix2008-variant-of-System.Parame.diff | 229 --- ...ed-darwin-solaris-x32-variants-of-Sys.diff | 472 -- ...sleep-from-System.OS_Primitives.Timed.diff | 74 --- ...its-time-functions-from-GNU-libc-when.diff | 74 ++- debian/rules.patch| 7 - 10 files changed, 520 insertions(+), 1475 deletions(-) delete mode 100644 debian/patches/0001-Ada-remove-conversions-with-C-struct-timeval-from-GN.diff delete mode 100644 debian/patches/0002-Ada-remove-conversions-with-C-struct-timespec-from-A.diff delete mode 100644 debian/patches/0003-Ada-remove-conversions-with-C-time_t-from-System.OS_.diff delete mode 100644 debian/patches/0005-Ada-drop-unneeded-x32-variant-of-System.Linux.diff delete mode 100644 debian/patches/0006-Ada-drop-unneeded-posix2008-variant-of-System.Parame.diff delete mode 100644 debian/patches/0007-Ada-drop-unneeded-darwin-solaris-x32-variants-of-Sys.diff delete mode 100644 debian/patches/0008-Ada-import-nanosleep-from-System.OS_Primitives.Timed.diff diff --git a/debian/patches/0001-Ada-remove-conversions-with-C-struct-timeval-from-GN.diff b/debian/patches/0001-Ada-remove-conversions-with-C-struct-timeval-from-GN.diff deleted file mode 100644 index d57d7ec7.. --- a/debian/patches/0001-Ada-remove-conversions-with-C-struct-timeval-from-GN.diff +++ /dev/null @@ -1,143 +0,0 @@ -From bedb7553c420da59938eacb115fd9384e54ceae0 Mon Sep 17 00:00:00 2001 -From: Nicolas Boulenguez -Date: Fri, 5 Apr 2024 16:51:54 +0200 -Subject: [PATCH 1/9] Ada: remove conversions with C struct timeval from - GNAT.Calendar - - gcc/ada/doc/gnat_rm/the_gnat_library.rst | 2 - - gcc/ada/libgnat/g-calend.adb | 58 - gcc/ada/libgnat/g-calend.ads | 18 - 3 files changed, 78 deletions(-) - -diff --git a/src/gcc/ada/doc/gnat_rm/the_gnat_library.rst b/src/gcc/ada/doc/gnat_rm/the_gnat_library.rst -index 3aae70a..bcec49f 100644 a/src/gcc/ada/doc/gnat_rm/the_gnat_library.rst -+++ b/src/gcc/ada/doc/gnat_rm/the_gnat_library.rst -@@ -674,8 +674,6 @@ Machine-specific implementations are available in some cases. - - Extends the facilities provided by ``Ada.Calendar`` to include handling - of days of the week, an extended ``Split`` and ``Time_Of`` capability. --Also provides conversion of ``Ada.Calendar.Time`` values to and from the --C ``timeval`` format. - - .. _`GNAT.Calendar.Time_IO_(g-catiio.ads)`: - -diff --git a/src/gcc/ada/libgnat/g-calend.adb b/src/gcc/ada/libgnat/g-calend.adb -index 0a98eb2..e0d34f5 100644 a/src/gcc/ada/libgnat/g-calend.adb -+++ b/src/gcc/ada/libgnat/g-calend.adb -@@ -29,11 +29,8 @@ - -- -- - -- - --with Interfaces.C.Extensions; -- - package body GNAT.Calendar is -use Ada.Calendar; -- use Interfaces; - -- --- Day_In_Year -- -@@ -328,61 +325,6 @@ package body GNAT.Calendar is -Time_Zone=> 0); -end Time_Of_At_Locale; - -- - -- -- To_Duration -- -- - -- -- function To_Duration (T : not null access timeval) return Duration is -- -- procedure timeval_to_duration --(T: not null access timeval; -- sec : not null access C.Extensions.long_long; -- usec : not null access C.long); -- pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); -- --
Bug#1072071: gcc-13: Please add libatomic for 32-bit SPARC for Ada
Source: gcc-13 Followup-For: Bug #1072071 Hello. The attached suggestions are just ideas, not real commits. They are hand-written and not tested at all, so probably contain typos. Morever, they were written in a gcc-14 source tree. For the context, commit e08cd8a2 disables Ada on sparc (bug #1072328). If Adrian can check that 0001, 0002 and 0003 fix #1072071, then I suggest to merge them into a single commit, else if Matthias confirms that := was not deliberate then I suggest to apply 0001. From: Nicolas Boulenguez Subject: [PATCH 1/3] probably fix a typo in e08cd8a2 --- a/debian/control +++ b/debian/control @@ -15,11 +15,11 @@ Build-Depends: debhelper (>= 11), dpkg-dev (>= 1.17.14), g++-multilib [amd64 i38 gperf, bison, flex, gettext, nvptx-tools [amd64 arm64 ppc64el], amdgcn-tools-18 [amd64], texinfo, locales-all, sharutils, - procps, gnat-13:native [!sparc !loong64], g++-13:native [!loong64], gnat-14:native [loong64], g++-14:native [loong64], netbase, gdc-13:native [!arc !ia64 !m68k !sh4 !s390 !sparc64 !alpha !hurd-alpha !hurd-amd64 !hurd-i386], python3:any, cargo [!hppa !ia64 !m68k !sh4 !alpha !hurd-alpha], + procps, gnat-13:native [!arc !ia64 !sh3 !sh3eb !sh4eb !sparc !loong64], g++-13:native [!loong64], gnat-14:native [loong64], g++-14:native [loong64], netbase, gdc-13:native [!arc !ia64 !m68k !sh4 !s390 !sparc64 !alpha !hurd-alpha !hurd-amd64 !hurd-i386], python3:any, cargo [!hppa !ia64 !m68k !sh4 !alpha !hurd-alpha], libisl-dev (>= 0.20), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), lib32z1-dev [amd64], lib64z1-dev [i386], unzip , dejagnu , coreutils, chrpath, lsb-release, quilt, time, pkg-config, libgc-dev, - g++-14-for-host , gobjc-14-for-host [!avr] , gfortran-14-for-host , gdc-14-for-host [!arc !ia64 !m68k !sh4 !s390 !sparc64 !alpha !hurd-alpha !hurd-amd64 !hurd-i386] , gccgo-14-for-host [!arc !avr !hppa !loong64 !m68k !sh4] , gnat-14-for-host [!sparc] , gm2-14-for-host [!powerpc !ppc64 !sh4] , + g++-14-for-host , gobjc-14-for-host [!avr] , gfortran-14-for-host , gdc-14-for-host [!arc !ia64 !m68k !sh4 !s390 !sparc64 !alpha !hurd-alpha !hurd-amd64 !hurd-i386] , gccgo-14-for-host [!arc !avr !hppa !loong64 !m68k !sh4] , gnat-14-for-host [!arc !ia64 !sh3 !sh3eb !sh4eb !sparc] , gm2-14-for-host [!powerpc !ppc64 !sh4] , Build-Depends-Indep: doxygen , graphviz , ghostscript , texlive-latex-base , xsltproc , libxml2-utils , docbook-xsl-ns , Homepage: http://gcc.gnu.org/ Vcs-Browser: https://salsa.debian.org/toolchain-team/gcc --- a/debian/rules.defs +++ b/debian/rules.defs @@ -872,7 +872,7 @@ ifeq (,$(filter $(DEB_STAGE),stage1 stage2)) # Ada ada_no_cpus := arc ia64 sh3 sh3eb sh4eb #ada_no_cpus += armel # See Debian #1061370 -ada_no_cpus := sparc # See Debian #1072328 +ada_no_cpus += sparc # See Debian #1072328 ada_no_systems := ada_no_cross := no ada_no_snap := no From: Nicolas Boulenguez Subject: [PATCH 2/3] untested fix for #1072071 --- a/debian/patches/ada-armel-libatomic.diff +++ b/debian/patches/ada-armel-libatomic.diff @@ -1,11 +1,14 @@ -Description: link libgnarl with libatomic on armel +Description: link libgnarl with libatomic on armel and sparc On other architectures, the library is ignored thanks to --as-needed. . - Seen with 14-20240429-1: + Seen with 14-20240429-1 on armel: cd rts; [bla]/./gcc/xgcc [bla] -shared [bla] -o libgnarl-14.so [bla] /usr/bin/arm-linux-gnueabi-ld: libgnat-14.so: undefined reference to `__atomic_compare_exchange_8' /usr/bin/arm-linux-gnueabi-ld: libgnat-14.so: undefined reference to `__atomic_load_8' . + Seen with 13.2.0-25 on sparc: + checking fp.h usability... /usr/sparc-linux-gnu/bin/ld: libgnat-13.so: undefined reference to `__atomic_compare_exchange_8' + . Libatomic becomes an artificial dependency for Ada in Makefile.def, so a better solution is welcome. . @@ -22,6 +25,7 @@ Description: link libgnarl with libatomic on armel (ada-gnattools-cross.diff adds checking options to LDFLAGS, then adds LDFLAGS to the command line). Bug-Debian: https://bugs.debian.org/861734 +Bug-Debian: https://bugs.debian.org/1072071 Author: Matthias Klose Author: Nicolas Boulenguez @@ -35,6 +39,14 @@ Author: Nicolas Boulenguez LIBGNAT_TARGET_PAIRS = \ a-intnam.adsFrom: Nicolas Boulenguez Subject: [PATCH 3/3] revert e08cd8a2 --- a/debian/control +++ b/debian/control @@ -15,11 +15,11 @@ Build-Depends: debhelper (>= 11), dpkg-dev (>= 1.17.14), g++-multilib [amd64 i38 gperf, bison, flex, gettext, nvptx-tools [amd64 arm64 ppc64el], amdgcn-tools-18 [amd64], texinfo, locales-all, sharutils, - procps, gnat-13:native [!arc !ia64 !sh3 !sh3eb !sh4eb !sparc !loong64], g++-13:native [!loong64], gnat-14:native [loong64], g++-14:native [loong64], netbase, gdc-13:native [!arc !ia64 !m68k !sh4 !s390 !sparc64 !alpha !hurd-alpha !hurd-amd64 !hurd-i386], python3:any, cargo [!hppa !ia64 !m68k !sh4 !alpha !hurd-alpha], +
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
Summary of inadvertently private mails: mk-bsd-sed-quotation-mark.diff hopefully fixes the build on BSD. Assuming this, and that I am not missing the point again, mk-unhardcode-datadir.diff can be applied again. The attachment improves its readability. * It replaces "ifndef ... := ... endif" with "?=". The variable will be searched for $ on each expansion, but the performance difference is probably quite small. * It removes the comment explaining where dpkg_datadir might already be defined. Anyone working on this will know about default.mk. * It replaces $(patsubst ...) with $(dir ...). This was the original suggestion. You once answered: > to avoid changing all pathname concatenation I changed dpkg_datadir to > «$(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST». then I did suggest $(patsubst %/current.mk/,%,$(lastword $(MAKEFILE_LIST))), but, thinking about it again, there seems to be no problem with a double path component separator. >From 467d7aa41c95796f6d7ef43bb4c8fda925728791 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 2 Jul 2024 11:54:55 +0200 Subject: scripts/mk: Stop hard-coding dpkg_datadir This path differ during tests and after installation. Instead of rewriting the file with a hardcoded path, compute it within Make. diff --git a/build-aux/subst.am b/build-aux/subst.am index 7785e4af7..9c96e5ce0 100644 --- a/build-aux/subst.am +++ b/build-aux/subst.am @@ -45,11 +45,3 @@ SUFFIXES += .pl @test -d `dirname $@` || $(MKDIR_P) `dirname $@` $(AM_V_GEN) $(subst_perl_filter) <$< >$@ $(AM_V_at) chmod +x $@ - -# Makefile support. - -subst_make_rules = "\ - s{dpkg_datadir\s*=\s*[^\s]*}{dpkg_datadir = $(pkgdatadir)}; \ - " - -subst_make_file = $(PERL) -i -p -e $(subst_make_rules) diff --git a/scripts/mk/Makefile.am b/scripts/mk/Makefile.am index be6076b2c..6e85e17b9 100644 --- a/scripts/mk/Makefile.am +++ b/scripts/mk/Makefile.am @@ -10,13 +10,3 @@ dist_pkgdata_DATA = \ pkg-info.mk \ vendor.mk \ # EOL - -SUFFIXES = - -include $(top_srcdir)/build-aux/subst.am - -install-data-hook: - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/default.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/buildtools.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/pkg-info.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/vendor.mk diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk index 6ce9642cd..1f63beede 100644 --- a/scripts/mk/buildtools.mk +++ b/scripts/mk/buildtools.mk @@ -28,7 +28,7 @@ ifndef dpkg_buildtools_mk_included dpkg_buildtools_mk_included = yes -dpkg_datadir = $(srcdir)/mk +dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST))) include $(dpkg_datadir)/architecture.mk # We set the TOOL_FOR_BUILD variables to the specified value, and the TOOL diff --git a/scripts/mk/default.mk b/scripts/mk/default.mk index c4e408b01..14e5be0cd 100644 --- a/scripts/mk/default.mk +++ b/scripts/mk/default.mk @@ -4,7 +4,8 @@ ifndef dpkg_default_mk_included dpkg_default_mk_included = yes -dpkg_datadir = $(srcdir)/mk +dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST))) + include $(dpkg_datadir)/architecture.mk include $(dpkg_datadir)/buildapi.mk ifeq ($(call dpkg_build_api_ge,1),yes) diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk index 746503a33..43898d956 100644 --- a/scripts/mk/vendor.mk +++ b/scripts/mk/vendor.mk @@ -36,7 +36,7 @@ ifndef dpkg_vendor_mk_included dpkg_vendor_mk_included = yes -dpkg_datadir = $(srcdir)/mk +dpkg_datadir ?= $(dir $(lastword $(MAKEFILE_LIST))) include $(dpkg_datadir)/buildapi.mk dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1))) >From ca50a267435a14fddd8679771b1e3c1178160ee1 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 2 Jul 2024 10:44:20 +0200 Subject: scripts/mk: replace more GNU sed constructs with POSIX ones This hopefully fixes tests with BSD sed. diff --git a/scripts/mk/pkg-info.mk b/scripts/mk/pkg-info.mk index cfd456af1..ddda4f736 100644 --- a/scripts/mk/pkg-info.mk +++ b/scripts/mk/pkg-info.mk @@ -21,7 +21,7 @@ dpkg_pkg_info_mk_included = yes dpkg_parsechangelog_run = $(eval $(shell dpkg-parsechangelog | sed -n '\ s/^Distribution: \(.*\)/$$(eval DEB_DISTRIBUTION:=\1)/p;\ s/^Source: \(.*\)/$$(eval DEB_SOURCE:=\1)/p;\ - s/^Version: \([0-9]*:\)\?\([^-]*\)\(\(.*\)-[^-]*\)\?$$/\ + s/^Version: \([0-9]*:\)\{0,1\}\([^-]*\)\(\(.*\)-[^-]*\)\{0,1\}$$/\ $$(eval DEB_VERSION:=\1\2\3)\ $$(eval DEB_VERSION_EPOCH_UPSTREAM:=\1\2\4)\ $$(eval DEB_VERSION_UPSTREAM_REVISION:=\2\3)\
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
Package: dpkg-dev Followup-For: Bug #872381 Hello again. My last message was confusing. I am suggesting to improve commit f1175056 with 0001-build-spare-an-unneeded-subst-handling-in-pkg-info.m.patch. I have only quoted 0001-scripts-mk-stop-hard-coding-dpkg_datadir.patch for context. Please ignore it.
Bug#1070746: libplplotada-dev: breaks tests, must Depend: libplplot-dev
Source: plplot Severity: normal Tags: patch X-Debbugs-Cc: Graham Inggs Hello. The autopkgtests are failing with ...gcc... -lplplotada -lplplot ... /usr/bin/ld: cannot find -lplplot: No such file or directory The linker is searching for the /usr/lib/MULTIARCH/libplplot.so symbolic link, but does not find it because libplplot-dev is not installed. This was hidden before https://salsa.debian.org/science-team/plplot/-/commit/e62a3beaf7e3e7e6856dc4ca45f8d20df36a1671 because the test dependencies were not minimal. So libplplotada-dev must Depend: libplplot-dev (= ${binary:Version}) instead of Depending: libplplot17 (= ${binary:Version}) Recommending: libplplot-dev All the best.
Bug#1067285: whitakers-words in Debian, gnat-13 transition
Hello. The package needs to build with gnat-13 in order to be part of next Debian release. Are you planning a new upload in the near future? Else, are you OK with a non maintainer upload fixing this specific bug?
Bug#916475: ghdl: various suggestions for the packaging
Source: ghdl Followup-For: Bug #916475 Control: tags 1067446 patch Control: tags 1067686 patch Hello. The attachment fixes several bugs including the release-critical one. The build succeeds on ppc64el, although running neither dh_auto_test nor autopkgtests. Debdiff only reports expected differences. Lintian reports nothing new, but there were already two errors. https://udd.debian.org/lintian/?packages=ghdl 0001-New-upstream-version-4.0.0-dfsg.patch 0002-New-upstream-version-4.1.0-dfsg.patch are not attached because * bugs.debian.org refuses heavy attachments, * you can recreate them with # uscan --download-version=4.0.0 # gbp import-orig ../ghdl_4.0.0+dfsg.orig.tar.xz # uscan --download-version=4.1.0 # gbp import-orig ../ghdl_4.1.0+dfsg.orig.tar.xz You should get: Checksums-Sha1: 6f89acac3c926c9653e96e58aee6cb344ef26d4e 4862224 ghdl_4.1.0+dfsg.orig.tar.xz Checksums-Sha256: d300c4078fa30af33cb614ff5e40f03d19e3b32eca71ca6cd1d6422c7dc40c06 4862224 ghdl_4.1.0+dfsg.orig.tar.xz Files: 4da868cf483d095e014c3d3c5c7e3801 4862224 ghdl_4.1.0+dfsg.orig.tar.xz * I have not reviewed the licenses of the new files in detail. 0003-Delegate-computation-of-Built-Using-to-dh-builtusing 0004-test-driver-move-error-reporting-to-a-separate-proce are two commits remaining from #916475. 0006-Set-shared-object-version-to-4 0007-Build-using-GCC-13 0008-Build-using-default-LLVM-version 0010-Adapt-install-path-of-ghdl1-lib-libexec 0011-Refresh-patches-for-upstream-version-4 0012-Build-again-on-s390x-fixed-by-ghdl-4 0013-Disable-the-gcc-backend-on-risv64 0015-Apply-upstream-patch-to-fix-issues-2641-and-2642 are backported from Ubuntu. I have split some commits, rebased, and added information in the headers, especially the closed Debian bugs. 0005-Avoid-hardcoding-the-shared-object-version-several-t 0009-Stop-hardcoding-the-gcc-version-in-the-gcc-patches-s 0014-Standards-Version-4 0016-Add-license-paragraph-for-ghw 0017-Update-path-syntax-in-lintian-overrides 0018-Restrict-VHDL-sources-to-ASCII-encoding 0019-changelog-lintian-cleanup 0020-copyright-fix-typos-in-paths-lintian are new suggestions. Most of them are cosmetic. Ubuntu also ignores the build and run time tests for the llvm and mcode backends, but as far as I understand this was only necessary before debian/patches/fix-issue-264x.diff. bug916475v08.tar.gz Description: application/gzip
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
Package: dpkg-dev Followup-For: Bug #872381 Hello. It is good to see the main suggestion merged. Thanks! You have not applied 0001-scripts-mk-stop-hard-coding-dpkg_datadir.patch probably because you prefer the related parts in f1175056 (build: Rework subst handling for built or installed artifacts). Ironically, f1175056 seems to introduce the exact kind of human error that dynamic generation would prevent. 0001-build-spare-an-unneeded-subst-handling-in-pkg-info.m.patch >From 36e98fdd10b1896f8fa89733b5e0c1781c0cce4c Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 6 May 2024 10:52:49 +0200 Subject: [PATCH] build: spare an unneeded subst handling in pkg-info.mk This commits follows f1175056. --- scripts/mk/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/mk/Makefile.am b/scripts/mk/Makefile.am index be6076b2c..5f086ef49 100644 --- a/scripts/mk/Makefile.am +++ b/scripts/mk/Makefile.am @@ -18,5 +18,4 @@ include $(top_srcdir)/build-aux/subst.am install-data-hook: $(subst_make_file) $(DESTDIR)$(pkgdatadir)/default.mk $(subst_make_file) $(DESTDIR)$(pkgdatadir)/buildtools.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/pkg-info.mk $(subst_make_file) $(DESTDIR)$(pkgdatadir)/vendor.mk -- 2.39.2 >From 7daa3aca068d997c6895757cb58ba91d66bd6842 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 6 May 2024 11:37:14 +0200 Subject: [PATCH] scripts/mk: stop hard-coding dpkg_datadir This path differ during tests and after installation. Instead of rewriting the file with a hardcoded path, compute it within Make. --- build-aux/subst.am | 8 scripts/mk/Makefile.am | 10 -- scripts/mk/buildtools.mk | 4 +++- scripts/mk/default.mk| 2 +- scripts/mk/vendor.mk | 4 +++- 5 files changed, 7 insertions(+), 21 deletions(-) diff --git a/build-aux/subst.am b/build-aux/subst.am index 7785e4af7..9c96e5ce0 100644 --- a/build-aux/subst.am +++ b/build-aux/subst.am @@ -45,11 +45,3 @@ SUFFIXES += .pl @test -d `dirname $@` || $(MKDIR_P) `dirname $@` $(AM_V_GEN) $(subst_perl_filter) <$< >$@ $(AM_V_at) chmod +x $@ - -# Makefile support. - -subst_make_rules = "\ - s{dpkg_datadir\s*=\s*[^\s]*}{dpkg_datadir = $(pkgdatadir)}; \ - " - -subst_make_file = $(PERL) -i -p -e $(subst_make_rules) diff --git a/scripts/mk/Makefile.am b/scripts/mk/Makefile.am index be6076b2c..6e85e17b9 100644 --- a/scripts/mk/Makefile.am +++ b/scripts/mk/Makefile.am @@ -10,13 +10,3 @@ dist_pkgdata_DATA = \ pkg-info.mk \ vendor.mk \ # EOL - -SUFFIXES = - -include $(top_srcdir)/build-aux/subst.am - -install-data-hook: - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/default.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/buildtools.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/pkg-info.mk - $(subst_make_file) $(DESTDIR)$(pkgdatadir)/vendor.mk diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk index 6ce9642cd..e93319e00 100644 --- a/scripts/mk/buildtools.mk +++ b/scripts/mk/buildtools.mk @@ -28,7 +28,9 @@ ifndef dpkg_buildtools_mk_included dpkg_buildtools_mk_included = yes -dpkg_datadir = $(srcdir)/mk +ifndef dpkg_datadir + dpkg_datadir := $(patsubst %/buildtools.mk,%,$(lastword $(MAKEFILE_LIST))) +endif include $(dpkg_datadir)/architecture.mk # We set the TOOL_FOR_BUILD variables to the specified value, and the TOOL diff --git a/scripts/mk/default.mk b/scripts/mk/default.mk index c4e408b01..e1b81 100644 --- a/scripts/mk/default.mk +++ b/scripts/mk/default.mk @@ -4,7 +4,7 @@ ifndef dpkg_default_mk_included dpkg_default_mk_included = yes -dpkg_datadir = $(srcdir)/mk +dpkg_datadir := $(patsubst %/default.mk,%,$(lastword $(MAKEFILE_LIST))) include $(dpkg_datadir)/architecture.mk include $(dpkg_datadir)/buildapi.mk ifeq ($(call dpkg_build_api_ge,1),yes) diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk index 746503a33..3cd1eed3e 100644 --- a/scripts/mk/vendor.mk +++ b/scripts/mk/vendor.mk @@ -36,7 +36,9 @@ ifndef dpkg_vendor_mk_included dpkg_vendor_mk_included = yes -dpkg_datadir = $(srcdir)/mk +ifndef dpkg_datadir + dpkg_datadir := $(patsubst %/vendor.mk,%,$(lastword $(MAKEFILE_LIST))) +endif include $(dpkg_datadir)/buildapi.mk dpkg_lazy_eval ?= $(eval $(1) = $(2)$$($(1))) -- 2.39.2
Bug#1067320: topal: FTBFS: debian/rules: debian_packaging.mk: No such file or directory
Source: topal Followup-For: Bug #1067320 Control: tag -1 + patch Hello. Attachment 002 below fixes this bug. Would you be OK with a non maintainer upload? The other attachments are unrelated sugestions. Would you be OK with a salsa.debian.org/debian/topal git repository? PATH 1/10 updates the upstream part to version 82. >From 31c2f14e91e2a01c75eb1309f17ea540ffb80571 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 3 Dec 2022 18:56:23 +0100 Subject: [PATCH 02/10] Switch to dh-ada-library >= 8.2 for packaging.mk --- debian/control | 1 + debian/rules | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index be7984d..53206e5 100644 --- a/debian/control +++ b/debian/control @@ -4,6 +4,7 @@ Priority: optional Maintainer: Phil Brooke Build-Depends: debhelper-compat (= 13), + dh-ada-library (>= 8.2), gnat (>= 11), libreadline-dev, texlive, diff --git a/debian/rules b/debian/rules index cdd07e4..d3e38d5 100755 --- a/debian/rules +++ b/debian/rules @@ -4,8 +4,7 @@ DEB_BUILD_MAINT_OPTIONS := hardening=+all include /usr/share/dpkg/buildflags.mk -include /usr/share/dpkg/buildopts.mk -include /usr/share/ada/debian_packaging.mk +include /usr/share/ada/packaging.mk # Compile Ada and C with the same compiler. CC := gnatgcc -- 2.39.2 >From a9e088d51c8f95a9e7cd60bee7e31f9e167834ed Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 3 Dec 2022 18:57:35 +0100 Subject: [PATCH 03/10] Set CC from gnat version without the deprecated gnatgcc symbolic link gcc-$MAJOR is also specific to Debian, but not to Ada. --- debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index d3e38d5..b29f0ea 100755 --- a/debian/rules +++ b/debian/rules @@ -7,7 +7,7 @@ include /usr/share/dpkg/buildflags.mk include /usr/share/ada/packaging.mk # Compile Ada and C with the same compiler. -CC := gnatgcc +CC := gcc-$(DEB_GNAT_VERSION) # Upstream Makefile insists on rebuilding everything everytime. # SOURCE_DATE_EPOCH (set by debhelper) and the -m gnatmake option may -- 2.39.2 >From 6a3416662d4142d461f6c59bdaca4c3e495f59ff Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 20 Jul 2022 14:56:41 +0200 Subject: [PATCH 04/10] Drop full texlive from build dependencies It was now redundant with more specific dependencies. --- debian/control | 1 - 1 file changed, 1 deletion(-) diff --git a/debian/control b/debian/control index 53206e5..5669b2f 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,6 @@ Build-Depends: dh-ada-library (>= 8.2), gnat (>= 11), libreadline-dev, - texlive, texlive-latex-base, texlive-latex-extra, texlive-fonts-recommended, -- 2.39.2 >From 2946bec7938ae412ac7cf632a2f2982a6b79355d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 20 Jul 2022 14:57:05 +0200 Subject: [PATCH 05/10] Sort build dependencies Dpkg supports the extra comma exactly for this purpose. --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 5669b2f..00262aa 100644 --- a/debian/control +++ b/debian/control @@ -7,10 +7,10 @@ Build-Depends: dh-ada-library (>= 8.2), gnat (>= 11), libreadline-dev, + texlive-fonts-extra, + texlive-fonts-recommended, texlive-latex-base, texlive-latex-extra, - texlive-fonts-recommended, - texlive-fonts-extra Standards-Version: 4.6.1 Rules-Requires-Root: no Homepage: https://www.zircon.org.uk/topal/ -- 2.39.2 >From acb27a97b77357e5a17617c778119151161468de Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 3 Dec 2022 19:18:57 +0100 Subject: [PATCH 06/10] Remove some trailing whitespaces --- debian/changelog | 1 - debian/rules | 1 - 2 files changed, 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 03c854b..ba63f7a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -290,4 +290,3 @@ topal (0.6.4-1) unstable; urgency=low * Initial Release (closes: #143319). -- Phil Brooke Sun, 21 Apr 2002 14:29:05 + - diff --git a/debian/rules b/debian/rules index b29f0ea..c8539a8 100755 --- a/debian/rules +++ b/debian/rules @@ -37,4 +37,3 @@ override_dh_auto_install: .PHONY: override_dh_installchangelogs override_dh_installchangelogs: dh_installchangelogs Changelog.html - -- 2.39.2 >From 6934d431d7d4efde5a7a2e2095e879d6488a083d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sun, 27 Aug 2023 14:03:48 +0200 Subject: [PATCH 07/10] Bump Standards-Version --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 00262aa..abc38ee 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Build-Depends: texlive-fonts-recommended, texlive-latex-base, texlive-latex-extra, -Standards-Version: 4.6.1 +Standards-Version: 4.7.0 Rules-Requires-Root: no Ho
Bug#1069984: alire: Build-depends on NBS package libgnatcoll21-dev
Source: alire Followup-For: Bug #1069984 Hello. This bug is already fixed in 1.2.1-1.1. The ideal way to close a bug is usually in debian/changelog, but this bug was open after its fix has been uploaded to experimental, so you should probably close it as described at https://www.debian.org/Bugs/Developer#closing with a mail to 1069984-d...@bugs.debian.org starting with Version: 1.2.1-1.1 The 'debian/ 1.2.1-2' tag is only informative, it triggers no actual upload. However, its current contents are incorrect. debian/changelog contains the same version twice. Please fix this, then I will sponsor an upload and you will tag the uploaded state as 'debian/1.2.1-2+really'.
Bug#1065309: transition: gnat (12 -> 13 + time_t64)
Package: release.debian.org Followup-For: Bug #1065309 Hello. For some reason, some rebuilds succeeded without a +b1 version. Their reverse dependencies is dep-waiting on the +b1 version. Please cancel three dep-wait restrictions. gb libgnatcoll-db_23.0.0-6 . armel powerpc . -o gb libgnatcoll-bindings_24.0.0-2 . armhf . -o
Bug#1067285: whitakers-words: FTBFS: make[2]: *** [Makefile:40: commands] Error 4
Source: whitakers-words Followup-For: Bug #1067285 Hello. This failure is caused by new compiler warnings, either because of the switch to gnat-13 or because of changes in Debian options. Anyway, I suggest to add the following two lines in debian/rules, somewhere before the inclusion of /usr/share/*.mk. # Disable the -gnatwe upstream flags during Debian builds. DEB_ADAFLAGS_MAINT_APPEND := -gnatwn
Bug#1065309: transition: gnat (12 -> 13 + time_t64)
Package: release.debian.org Followup-For: Bug #1065309 Hello. The time_t64 transition has triggered #1067453 in the Ada compiler, which is now fixed by gcc-13/13.2.0-24. The patch modifies the sources of the Ada standard library, so most Ada packages need a rebuild in order to update their dependencies (gnat-13 Provides: gnat-13-HASH each Ada library Provides: libFOO-dev-HASH and each consumer Depends: gnat-13-HASH, libFOO-HASH). Please schedule the following rebuilds. nmu adacgi_1.6-34 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067070.' dw adacgi_1.6-34 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu adasockets_1.14-1 . ANY . -m 'Rebuild with #1067453 fixed in gnat.' dw adasockets_1.14-1 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu ahven_2.8.9 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067224, #1069469.' dw ahven_2.8.9 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu libaunit_24.0.0-2 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067071.' dw libaunit_24.0.0-2 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu libgmpada_1.6-2 . ANY . -m 'Rebuild with #1067453 fixed in gnat.' dw libgmpada_1.6-2 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu libncursesada_6.3.20211021-11 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067073.' dw libncursesada_6.3.20211021-11 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu libtexttools_2.1.0-28 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1069476.' dw libtexttools_2.1.0-28 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu libxmlada_24.0.0-2. ANY . -m 'Rebuild with #1067453 fixed in gnat' dw libxmlada_24.0.0-2. ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu libxmlezout_1.06.2-14 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067220.' dw libxmlezout_1.06.2-14 . ANY . -m 'gnat-13 (>= 13.2.0-24)' nmu liblog4ada_1.3.1.b6dafb49-13 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067074.' dw liblog4ada_1.3.1.b6dafb49-13 . ANY . -m 'libxmezout-dev (>= 1.06.2-14+b1)' nmu anet_0.5.0-3 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1067353.' dw anet_0.5.0-3 . ANY . -m 'libahven-dev (>= 2.8.9+b1)' nmu dbusada_0.6.2-6 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1069421.' dw dbusada_0.6-2-6 . ANY . -m 'libahven-dev (>= 2.8.9+b1)' nmu libalog_0.6.2-5 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1069454.' dw libalog_0.6.2-5 . ANY . -m 'libahven-dev (>= 2.8.9+b1)' nmu pcscada_0.7.7-6 . ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1069468.' dw pcscada_0.7.7-6 . ANY . -m 'libahven-dev (>= 2.8.9+b1)' nmu libtemplates-parser_24.0.0-2 . ANY . -m 'Rebuild with #1067453 fixed in gnat.' dw libtemplates-parser_24.0.0-2 . ANY . -m 'libxmlada-unicode-dev (>= 24.0.0-2+b1)' nmu gprbuild_2024.1.20231009-4. ANY . -m 'Rebuild with #1067453 fixed in gnat. Closes: #1069467.' dw gprbuild_2024.1.20231009-4. ANY . -m 'libxmlada-unicode-dev (>= 24.0.0-2+b1)' nmu libgnatcoll_24.1.20230921-4 . ANY . -m 'Rebuild with #1067453 fixed in gnat.' dw libgnatcoll_24.1.20230921-4 . ANY . -m 'libgnatprj-dev (>= 2024.1.20231009-4+b1)' nmu libgnatcoll-bindings_24.0.0-2 . ANY . -m 'Rebuild with #1067453 fixed in gnat.' dw libgnatcoll-bindings_24.0.0-2 . ANY . -m 'libgnatcoll-dev (>= 24.1.20230921-4+b1)' nmu libgnatcoll-db_23.0.0-6 . ANY . -m 'Rebuild with #1067453 fixed in gnat.' dw libgnatcoll-db_23.0.0-6 . ANY . -m 'libgnatcoll-iconv-dev (>= 24.0.0-2+b1)' The alire libflorist libgtkada plplot packages are also affected but require a normal upload for other reasons anyway. Thanks.
Bug#1067453: gnat: Ada.Calendar.Clock crashes on time_t64 architectures
Source: gcc-13 Followup-For: Bug #1067453 The gettimeofday import issue seems specific to the time_t 64 transition in Debian. When building C on armhf, a #define replaces gettimeofday with __gettimeofday64 so the linker finds the 64 bits version in the libc. When linking Ada code, the linker searches for the gettimeofday symbol and links with the 32 bits version, as demonstrated by the reproducer script below. Here is the output. ./c_part timeval size: 128 tv_sec offset: 0 size: 64 value: 662A7756 tv_usec offset: 8 size: 64 value: 1C54 56 77 2A 66 00 00 00 00 54 1C 00 00 00 00 00 00 ./ada_part timeval size: 128 tv_sec offset: 0 size: 64 value:16#27A9662A7756# tv_usec offset: 8 size: 64 value:-16#80B1C0708345E00# 56 77 2A 66 A9 27 00 00 00 A2 CB F7 F8 E3 F4 F7 Changing the External_Name from "gettimeofday" to "__gettimeofday64" fixes the mismatch (except for the lower microseconds of course). ./c_part 81 76 2A 66 00 00 00 00 0F E2 0C 00 00 00 00 00 ./ada_part 81 76 2A 66 00 00 00 00 CB EC 0C 00 00 00 00 00 So we have two possible work-arounds. * build a C source with a __gnat_gettimeofday wrapper. This option, implemented by my last commit, patches gcc/ada/Makefile.rtl gcc/ada/cal.c gcc/ada/gcc-interface/Makefile.in gcc/ada/libgnat-s-osprim__posix.adb and interfers with the previous commit. * simply patch gcc/ada/libgnat/s-osprim__posix.adb with - pragma Import (C, gettimeofday, "gettimeofday"); + pragma Import (C, gettimeofday, "__gettimeofday64"); This seems better, but must only be applied on targets affected by the t64 transition. I do not know which one is the best, but at least the second one explains why the first one did work. Just in case, here is the reproducer script: -- #!/bin/sh set -efuv cat > hexdump.h < hexdump.c < #include "hexdump.h" void hexdump(char* p, int length) { while (length--) { printf(" %02hhX", *p++); } printf("\n"); } EOF cat > c_part.c < #include #include #include #include "hexdump.h" int main(int argc, const char* argv[]) { struct timeval tv; if (argc == 1) { printf(" gettimeofday returned %i\n", gettimeofday(&tv, NULL)); printf(" timeval size: %lli\n", (long long int)( CHAR_BIT * sizeof(tv))); printf(" tv_sec"); printf(" offset: %lli", (long long int)((char*)(&(tv.tv_sec)) - (char*)(&tv))); printf(" size: %lli", (long long int)(CHAR_BIT * sizeof(tv.tv_sec))); printf(" value: %llX", (long long int)tv.tv_sec); printf("\n"); printf(" tv_usec"); printf(" offset: %lli", (long long int)((char*)(&(tv.tv_usec)) - (char*)(&tv))); printf(" size: %lli", (long long int)(CHAR_BIT * sizeof(tv.tv_usec))); printf(" value: %llX", (long long int)tv.tv_usec); printf("\n"); hexdump((char*)(&tv), sizeof(tv)); } else { printf(" time_t_bits : constant := %lli;\n", (long long int)(CHAR_BIT * sizeof(tv.tv_sec))); printf(" suseconds_t_bits : constant := %lli;\n", (long long int)( CHAR_BIT * sizeof(tv.tv_usec))); } return EXIT_SUCCESS; } EOF cat > ada_part.adb < C; type suseconds_t is range -2**(suseconds_t_bits - 1) .. 2**(suseconds_t_bits - 1) - 1 with Convention => C; type timeval is record tv_sec : time_t; tv_usec : suseconds_t; end record with Convention => C; function gettimeofday (tv : access timeval; tz : Address) return int with Import, Convention => C, External_Name => "gettimeofday"; -- Here Tv : aliased timeval; function Offset (A, B : Address) return String is (Long_Long_Integer'Image (Long_Long_Integer'Value (A'Img) - Long_Long_Integer'Value (B'Img))); I : constant int := gettimeofday(Tv'Access, Null_Address); procedure hexdump(p : Address; count : Integer) with Import, Convention => C, External_Name => "hexdump"; begin Put_Line (" gettimeofday returned" & I'Img); Put_Line (" timeval size:" & Integer'Image (Tv'Size)); Put (" tv_sec offset:" & Offset (Tv.tv_sec'Address, Tv'Address) & " size:" & Integer'Image (Tv.tv_sec'Size) & " value:"); Put (Long_Long_Integer (Tv.tv_sec), Width => 0, Base => 16); New_Line; Put (" tv_usec offset:" & Offset (Tv.tv_usec'Address, Tv'Address) & " size:" & Integer'Image (Tv.tv_usec'Size) & " value:"); Put (Long_Long_Integer (Tv.tv_usec), Width => 0, Base => 16); New_Line; hexdump (Tv'Address, Tv'Size / 8); end Ada_Part; EOF gcc -c -Wall -Wextra hexdump.c -o hexdump.o gcc -Wall -Wextra c_part.c hexdump.o -o c_part gnatmake -gnat2022 -gnatwa -gnatya ada_part.adb -largs hexdump.o ./c_part ./ada_part
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
The attached version fixes the spacing issue in tests with a more readable trick, splits the changes inside tests into small chunks, replaces - with _ in Make variable names, avoids non portable -r -E sed options. Without -r, sed in {buildflags,pkg-info}.mk should cause no regression. It has been present in pkg-info.mk since 2011. >From 5b3d75fb604dae497406f19073d03ea094da8d07 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 10 Apr 2024 00:41:42 +0200 Subject: [PATCH 01/10] scripts/t/mk/buildflags.mk: fix test of _MAINT_APPEND when TEST_ is empty When TEST_CPPFLAGS is empty, the right hand side of the comparison starts with a space character. --- scripts/t/mk/buildflags.mk | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/t/mk/buildflags.mk b/scripts/t/mk/buildflags.mk index 94d85a7e0..7cf798f73 100644 --- a/scripts/t/mk/buildflags.mk +++ b/scripts/t/mk/buildflags.mk @@ -1,5 +1,8 @@ DEB_CPPFLAGS_MAINT_APPEND = -DTEST_MK=test-host +TEST_CPPFLAGS+= -DTEST_MK=test-host + DEB_CPPFLAGS_FOR_BUILD_MAINT_APPEND = -DTEST_MK=test-build +TEST_CPPFLAGS_FOR_BUILD+= -DTEST_MK=test-build include $(srcdir)/mk/buildflags.mk @@ -8,8 +11,8 @@ test: test "$(ASFLAGS_FOR_BUILD)" = "$(TEST_ASFLAGS_FOR_BUILD)" test "$(CFLAGS)" = "$(TEST_CFLAGS)" test "$(CFLAGS_FOR_BUILD)" = "$(TEST_CFLAGS_FOR_BUILD)" - test "$(CPPFLAGS)" = "$(TEST_CPPFLAGS) -DTEST_MK=test-host" - test "$(CPPFLAGS_FOR_BUILD)" = "$(TEST_CPPFLAGS_FOR_BUILD)-DTEST_MK=test-build" + test "$(CPPFLAGS)" = "$(TEST_CPPFLAGS)" + test "$(CPPFLAGS_FOR_BUILD)" = "$(TEST_CXXFLAGS_FOR_BUILD)" test "$(CXXFLAGS)" = "$(TEST_CXXFLAGS)" test "$(CXXFLAGS_FOR_BUILD)" = "$(TEST_CXXFLAGS_FOR_BUILD)" test "$(DFLAGS)" = "$(TEST_DFLAGS)" -- 2.39.2 >From 53aeebafeb2af84369df3b7d81ff1cbcc1e13a9d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 10 Apr 2024 00:09:43 +0200 Subject: [PATCH 02/10] scripts/t/mk: use loops instead of repetitions --- scripts/t/mk/architecture.mk | 54 +--- scripts/t/mk/buildflags.mk | 39 -- scripts/t/mk/buildtools.mk | 54 +++- 3 files changed, 61 insertions(+), 86 deletions(-) diff --git a/scripts/t/mk/architecture.mk b/scripts/t/mk/architecture.mk index 2ac0222ca..b146f34b7 100644 --- a/scripts/t/mk/architecture.mk +++ b/scripts/t/mk/architecture.mk @@ -1,36 +1,22 @@ include $(srcdir)/mk/architecture.mk -test: - test "$(DEB_BUILD_ARCH)" = "$(TEST_DEB_BUILD_ARCH)" - test "$(DEB_BUILD_ARCH_ABI)" = "$(TEST_DEB_BUILD_ARCH_ABI)" - test "$(DEB_BUILD_ARCH_BITS)" = "$(TEST_DEB_BUILD_ARCH_BITS)" - test "$(DEB_BUILD_ARCH_CPU)" = "$(TEST_DEB_BUILD_ARCH_CPU)" - test "$(DEB_BUILD_ARCH_ENDIAN)" = "$(TEST_DEB_BUILD_ARCH_ENDIAN)" - test "$(DEB_BUILD_ARCH_LIBC)" = "$(TEST_DEB_BUILD_ARCH_LIBC)" - test "$(DEB_BUILD_ARCH_OS)" = "$(TEST_DEB_BUILD_ARCH_OS)" - test "$(DEB_BUILD_GNU_CPU)" = "$(TEST_DEB_BUILD_GNU_CPU)" - test "$(DEB_BUILD_GNU_SYSTEM)" = "$(TEST_DEB_BUILD_GNU_SYSTEM)" - test "$(DEB_BUILD_GNU_TYPE)" = "$(TEST_DEB_BUILD_GNU_TYPE)" - test "$(DEB_BUILD_MULTIARCH)" = "$(TEST_DEB_BUILD_MULTIARCH)" - test "$(DEB_HOST_ARCH)" = "$(TEST_DEB_HOST_ARCH)" - test "$(DEB_HOST_ARCH_ABI)" = "$(TEST_DEB_HOST_ARCH_ABI)" - test "$(DEB_HOST_ARCH_BITS)" = "$(TEST_DEB_HOST_ARCH_BITS)" - test "$(DEB_HOST_ARCH_CPU)" = "$(TEST_DEB_HOST_ARCH_CPU)" - test "$(DEB_HOST_ARCH_ENDIAN)" = "$(TEST_DEB_HOST_ARCH_ENDIAN)" - test "$(DEB_HOST_ARCH_LIBC)" = "$(TEST_DEB_HOST_ARCH_LIBC)" - test "$(DEB_HOST_ARCH_OS)" = "$(TEST_DEB_HOST_ARCH_OS)" - test "$(DEB_HOST_GNU_CPU)" = "$(TEST_DEB_HOST_GNU_CPU)" - test "$(DEB_HOST_GNU_SYSTEM)" = "$(TEST_DEB_HOST_GNU_SYSTEM)" - test "$(DEB_HOST_GNU_TYPE)" = "$(TEST_DEB_HOST_GNU_TYPE)" - test "$(DEB_HOST_MULTIARCH)" = "$(TEST_DEB_HOST_MULTIARCH)" - test "$(DEB_TARGET_ARCH)" = "$(TEST_DEB_TARGET_ARCH)" - test "$(DEB_TARGET_ARCH_ABI)" = "$(TEST_DEB_TARGET_ARCH_ABI)" - test "$(DEB_TARGET_ARCH_BITS)" = "$(TEST_DEB_TARGET_ARCH_BITS)" - test "$(DEB_TARGET_ARCH_CPU)" = "$(TEST_DEB_TARGET_ARCH_CPU)" - test "$(DEB_TARGET_ARCH_ENDIAN)" = "$(TEST_DEB_TARGET_ARCH_ENDIAN)" - test "$(DEB_TARGET_ARCH_LIBC)" = "$(TEST_DEB_TARGET_ARCH_LIBC)&q
Bug#1067453: gnat: Ada.Calendar.Clock crashes on time_t64 architectures
Source: gcc-13 Followup-For: Bug #1067453 Sorry for the poor summary. Here is what I have built and tested. * native build on ppc46el (not amd64) * gcc-source 13.2.0-19 from Debian * libgnat-timet64.diff unapplied (pr114065-proposed.diff should be unapplied for -20 and later) * commits 1/8 to 8/8 from bug114065attempt3.tar.gz applied (Debian only needs 1-3, 4-8 should only affect style). * ada-lib-info-source-date-epoch.diff adapted as described in #1067453 (disabling it for a while is also an option) * debian/rules binary-arch cat > demo.adb <
Bug#1067453: gnat: Ada.Calendar.Clock crashes on time_t64 architectures
Source: gcc-13 Followup-For: Bug #1067453 Hello. In case anyone tries to build attempt3 at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065 in Debian, please: * disable debian/patches/libgnat-time64.diff in debian/rules.patch * adapt the current ada-lib-info-source-date-epoch.diff --- a/debian/patches/ada-lib-info-source-date-epoch.diff +++ b/debian/patches/ada-lib-info-source-date-epoch.diff @@ -62,24 +62,26 @@ Author: Nicolas Boulenguez end File_Stamp; function File_Stamp (Name : Path_Name_Type) return Time_Stamp_Type is -@@ -3261,4 +3276,28 @@ begin +@@ -3261,4 +3276,30 @@ begin Osint.Initialize; end Initialization; + Set_Source_Date_Epoch : declare ++ -- See comments in OS_Time_To_GNAT_Time. ++ use type CRTL.int64; ++ function To_Ada is new Ada.Unchecked_Conversion (CRTL.int64, OS_Time); + Env_Var : String_Access := Getenv ("SOURCE_DATE_EPOCH"); -+ Epoch : time_t range 0 .. time_t'Last := 0; -+ Digit : time_t range 0 .. 9; ++ Epoch : CRTL.int64 range 0 .. CRTL.int64'Last := 0; ++ Digit : CRTL.int64 range 0 .. 9; + begin + if 0 < Env_Var.all'Length then + -- Calling System.Val_LLI breaks the bootstrap sequence. -+ -- First convert to time_t because OS_Time is private. + for C of Env_Var.all loop +if C not in '0' .. '9' then + goto Finally; +end if; -+Digit := time_t (Character'Pos (C) - Character'Pos ('0')); -+if (time_t'Last - Digit) / 10 < Epoch then ++Digit := CRTL.int64 (Character'Pos (C) - Character'Pos ('0')); ++if (CRTL.int64'Last - Digit) / 10 < Epoch then + goto Finally; +end if; +Epoch := Epoch * 10 + Digit;
Bug#1067242: dh-builtusing: Broken "Built-Using" field with architecture-specific invocations
> > On armel, the control files correctly contain no Built-Using field. > I have not noticed the issues on armel, just armhf (with 0.0.5 or 0.0.6) > and arm64 (with 0.0.6). I have tried again on an armhf porterbox, all works as expected. > > Could you please describe your build environment? > I use sbuild with unshare chroot mode... Thanks for the explanations. If I understand correctly, sbuild needs root permissions at least to create the chroot, so I cannot run it on a porterbox. Can you please try # dh_builtusing -v # cat debian/*.substvars This should work in a clean source tree, without spending time building. (arm64 or armhf, the symptoms differ but the cause seems the same) The expected output on armhf is: In package u-boot-sunxi, substvar dh-builtusing:arm-trusted-firmware += disabled-by-restriction In package u-boot-sunxi, substvar dh-builtusing:crust-firmware += disabled-by-restriction In package u-boot-rockchip, substvar dh-builtusing:arm-trusted-firmware += disabled-by-restriction dh-builtusing:arm-trusted-firmware=disabled-by-restriction (= 0) dh-builtusing:arm-trusted-firmware=disabled-by-restriction (= 0) dh-builtusing:crust-firmware=disabled-by-restriction (= 0)
Bug#1067242: dh-builtusing: Broken "Built-Using" field with architecture-specific invocations
Hello. I failed to reproduce the issue on a porterbox. On arm64: # dpkg-source -x u-boot_2024.01+dfsg-3.dsc # cd u-boot_2024.01+dfsg # patch -p1 < ../b8d394100d6f858c0e80786f7087f96c11d698c3.diff # DEB_BUILD_PROFILES='pkg.uboot.notools pkg.uboot.platform.a64-olinuxino' fake\ root debian/rules binary-arch dpkg-gencontrol writes no warning debian/u-boot-{rockchip,sunxi}/DEBIAN/control contain the expected Built-Using\ fields On armel, the control files correctly contain no Built-Using field. Could you please describe your build environment?
Bug#1051098: suggestion: dh-builtusing may simplify the packaging
Hello. > About to upload a version reverting this change to fix build failure on > armhf. > > Removing the patch flag, as the patch does not quite work correctly. > > Also filed a bug on dh-builtusing about this: > > https://bugs.debian.org/1067242 > > I look forward to an improved dh-builtusing and patch for u-boot! :) Thanks for reporting. Dh-builtusing/0.0.6 adds a regression test reporting this bug, and fixes it. Variables disabled by a restriction now receive a dummy but valid value, so that dpkg-gencontrol can parse the expansion (then ignore the dummy value). For u-boot, no patch is necessary. Just revert the reversal :-)
Bug#1067453: gnat: Ada.Calendar.Clock crashes on time_t64 architectures
Package: gnat-13 Version: 13.2.0-19 Severity: normal X-Debbugs-Cc: lbre...@debian.org Control: affects -1 pcscada libalog dbusada anet ahven libgmpada libgtkada libgnatcoll-db libncursesada libaunit adacgi liblog4ada libtexttools libtemplates-parser libxmlezout libgnatcoll-bindings libgnatcoll gprbuild Hello. Most Ada packages randomly FTBFS on 32 bit architectures with gprbuild: raised CONSTRAINT_ERROR : a-calend.adb:371 overflow check failed The problem originates in the gcc-13 switch to time_t64. gcc/ada/libgnat/s-os_prim__posix.adb is affected by two apparently distinct issues. * s-os_prim.adb allocates 3Long_Integer=3void*=3*32 bits for the timeval C struct, while 2*64bits = 2Long_Long_Integer are now needed. This issue affects other files, but is easy to find and fix. * The switch breaks the call from Ada to the C gettimeofday function. Can anyone explain this, and ideally provide a real fix instead of the ugly work-around below? cat > mycal.c < int mygettimeofday(struct timeval *restrict tv, struct timezone *restrict tz) { return gettimeofday(tv, tz); } EOF cat > foo.adb <
Bug#1065309: transition: gnat 12 -> 13 + time_t64
Hello. Version 2 seems OK. Thanks.
Bug#1065309: transition: gnat (12 -> 13 + time_t64)
Hello. A bug affects the Ada tests during the build of the gcc-12 source package. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066052 Such error messages happen on each (uncoordinated) change in the sources of an Ada library. Some sources for the standard library built by GCC are generated from C headers, so, as Matthias wrote in the bug report, this is without doubt caused by the t64 transition (especially taking into account that Ada.Calendar defines types for time representation). All/most Ada packages will probably soon FTBFS with a similar message. All/most Ada libraries need small manual changes and a passage through NEW in order to fix this (Ada -dev packages built with gcc-12 and earlier carry a version, in addition to the SO version carried by library packages). I agree with Matthias that we should instead start the gcc-13 transition in unstable. All packages are ready in experimental, with all library packages already renamed through NEW. But unfortunately also with intrusive unrelated changes, for example new upstream versions and a new Ada workflow removing the version from -dev package names. This will fix the issue quickly (only a new changelog entry for each package), but I would like a formal approval by the release managers before starting the gnat-13 transition. As described above in #1065309, all precautions have been taken in experimental, and all is needed is a rebuild in unstable with a new changelog entry. The FTBFSs in experimental reported by the salsa CI pipeline can be ignored, they are caused by the difficulty to resolve build dependencies in a context mixing unstable and experimental. For the record, some unrelated changes in the gnat-12 sources were already causing similar bugs (#1061631, [1]#1061633, [2]#1064745 [3]), that will also be fixed by the gnat-13 transition. These bugs are less important because they affect a few Ada packages, not GCC. Links: -- [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061631 [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061633 [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1064745
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
Package: dpkg-dev Followup-For: Bug #872381 Hello. Please consider this new patch queue instead of the old or untested ones. With this one applied on 279c6ccb, the package builds and passes all tests. * scripts/mk: only use ASCII characters Cosmetic independent suggestion. * scripts/mk: protect files against double inclusion The variables are renamed as you have recommended. The test is fixed (ifdef fails on a defined but empty variable). * scripts/mk: stop hard-coding dpkg_datadir Already discussed. * scripts/mk/buildopts.mk: search once for parallel= in DEB_BUILD_OPTIONS > > [...DEB_BUILD_OPTION_PARALLEL empty instead of undefined > > when parallel= is missing...] > [kind of an API change]. I have changed my patch and updated the comment. However.. The policy only describes 'parallel=N' when N is a positive integer. I think we should assume that the option is either missing or valid. For me, 'parallel=' is as incorrect as 'parallel=foo'. > I think it might perhaps make more sense to fallback to setting it > to 1 if it's missing, but I need to ponder about possible > consequences/fallout, etc. I doubt any sensible default exist. * 1 is safe/produces readable logs and $max_available_processors is fast. * the policy/debhelper/... have found no one-size-fits-all solution. * scripts/buildflags.mk: add missing GCJFLAGS Fixes a bug. * scripts/buildflags.mk: generate the _FOR_BUILD variant of each variable * scripts/buildflags.mk: sort the flag list These changes hopefully prevent new missing flags in the future (the output of dpkg-buildflags is sorted). * scripts/*.mk: reduce the number of subprocesses * scripts/t: use loops instead of repetitions, check exports and overrides * all four combinations of existing/new scripts/mk/*.mk pass the existing/new tests in scripts/t/mk/*.mk. * comparing the time taken by tests gives a rough idea of the speed gain architecture.mk 30 times faster (probably no gain under dpkg-buildpackage) buildflags.mk 20 times faster pkg-info.mk 4 times faster buildtools.mk20% faster Guillem Jover > I've left this one out for now. I'm not entirely satisfied with the > sed usage here. If we keep using sed, then I think it needs to be > set via a SED variable, substituted from the value found at In which context do you expect GNU Make but a non recent sed? Should I rewrite the regular expressions without -r/-E? > configure time. But then, I've been pondering whether we can have > better export formats, that might make the sed usage not > necessary. I started with a make-eval export mode for buildflags, > but perhaps it would be better a more generic formatting mode where > the caller can specify how the output should look like, akin > «dpkg-query --showformat». Will ponder about this. A generic format would be more maintainable in the long term. Something like that would be convenient for the makefiles. dpkg-architecture --print-format='${Dollar}(eval export ${key} ?= ${value})' dpkg-buildflags --print-format='${Dollar}(eval ${key}:=${value})' dpkg-parsechangelog --print-format='${Dollar}(eval DEB_SOURCE:=${Source}) ${Dollar}(eval export SOURCE_DATE_EPOCH?=${Timestamp}) ..' dpkg-vendor --print-format'${Dollar}(eval DEB_VENDOR:=${Vendor}) ${Dollar}(eval DEB_PARENT_VENDOR:=${Parent})' * scripts/buildtools.mk: style suggestions This arguably improves the readability, and fixes a minor issue ($(findstring nostrip,...) unwantedly matches arduinostrip). * scripts/t/mk/buildflags.mk: fix test of _MAINT_APPEND when TEST_ is empty This fixes a minor issue. During a test with DEB_BUILD_OPTIONS=noopt, TEST_CXXFLAGS was empty and caused the test of DEB_CXXFLAGS_MAINT_APPEND to fail because the correct result is not a concatenation, Make strips a space. This issue can also be seen with 1.22.5. >From 37f1089c450fca16d06d586cf390a05642af25f0 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 4 Mar 2024 13:23:56 +0100 Subject: [PATCH 01/11] scripts/mk: only use ASCII characters The policy recommends english, so french parenthesis must be replaced. More generally, prudence recommends ASCII in Make scripts. --- scripts/mk/buildtools.mk | 2 +- scripts/mk/vendor.mk | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk index 933fdcfaa..7c6732210 100644 --- a/scripts/mk/buildtools.mk +++ b/scripts/mk/buildtools.mk @@ -20,7 +20,7 @@ # QMAKE: Qt build system generator (since dpkg 1.20.0). # # All the above variables have a counterpart variable for the build tool, -# as in CC → CC_FOR_BUILD. +# as in CC -> CC_FOR_BUILD. # # The variables are not exported by default. This can be changed by # defining DPKG_EXPORT_BUILDTOOLS. diff --git a/scripts/mk/vendor.mk b/scripts/mk/vend
Bug#916475: ghdl: various suggestions to simplify the packaging
Source: ghdl Followup-For: Bug #916475 Hello. 0001 is unchanged. 0002 is stripped from unwanted spaces<->tabulations changes. >From 93ac475b1389fb875094c14a4977f64d8c1f74fd Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sun, 1 Oct 2023 01:14:25 +0200 Subject: [PATCH 1/2] Delegate computation of Built-Using to dh-builtusing --- debian/control | 7 --- debian/rules | 9 - 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/debian/control b/debian/control index 585ee55e..545c44b4 100644 --- a/debian/control +++ b/debian/control @@ -5,6 +5,7 @@ Maintainer: Debian Electronics Team Build-Depends: debhelper-compat (= 13), dh-ada-library (>= 8.1), + dh-sequence-builtusing, gnat-12, gcc-12, g++-12, gcc-12-source , libisl-dev (>= 0.14) , @@ -80,7 +81,7 @@ Description: VHDL compiler/simulator (mcode backend) Package: ghdl-gcc Architecture: any Build-Profiles: -Built-Using: ${Built-Using-GCC} +Built-Using: ${dh-builtusing:gcc-S-source} Depends: ghdl-common (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, gcc, zlib1g-dev Description: VHDL compiler/simulator (GCC backend) @@ -122,7 +123,7 @@ Description: VHDL compiler/simulator (tools) Package: libghdl-3-0-0 Architecture: any -Built-Using: ${Built-Using-GCC} +Built-Using: ${dh-builtusing:gcc-S-source} Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same Description: VHDL compiler/simulator (shared library) @@ -135,7 +136,7 @@ Description: VHDL compiler/simulator (shared library) Package: libghdl-dev Architecture: any -Built-Using: ${Built-Using-GCC} +Built-Using: ${dh-builtusing:gcc-S-source} Depends: libghdl-3-0-0 (= ${binary:Version}), ${misc:Depends} Multi-Arch: same Description: VHDL compiler/simulator (library development files) diff --git a/debian/rules b/debian/rules index 5821f85d..138b8581 100755 --- a/debian/rules +++ b/debian/rules @@ -95,15 +95,6 @@ override_dh_strip: dh_strip -N libghdl-3-0-0 dh_strip -p libghdl-3-0-0 --dbgsym-migration='libghdl-2-0-0' -override_dh_gencontrol: -ifneq ($(filter gcc,$(BACKENDS)),) - dh_gencontrol -- -VBuilt-Using-GCC="$(shell dpkg-query -f '$${Source} (= $${Version})' -W gcc-$(DEB_GNAT_VERSION)-source)" -else - dh_gencontrol -endif - - - configure-llvm-stamp configure-mcode-stamp: configure-%-stamp: $(announce) mkdir -p $(BUILDDIR)/$* -- 2.39.2 >From 9fd880fea151ef73266938f65f423003f9d8f36b Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 5 Oct 2023 14:39:35 +0200 Subject: [PATCH 2/2] test driver: move error reporting to a separate procedure --- debian/tests/ghdl-tests | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/debian/tests/ghdl-tests b/debian/tests/ghdl-tests index 871d594b..9ef0a66d 100755 --- a/debian/tests/ghdl-tests +++ b/debian/tests/ghdl-tests @@ -6,15 +6,19 @@ set -C -e -f -u # Debian yet. TESTS="sanity gna vests synth vpi vhpi" -test $# = 2 +error() { +echo >&2 "$0: $1" +exit 1 +} + +test $# = 2 || error "bad argument count: $#" case "$2" in gcc|llvm|mcode) BACKEND=$2 ;; *) - echo >&2 "Invalid backend specification" - exit 1 + error "invalid backend specification: $2" esac case "$1" in @@ -27,8 +31,7 @@ case "$1" in GHDL=/usr/bin/ghdl-$BACKEND ;; *) - echo >&2 "Invalid test environment specification" - exit 1 + error "invalid test environment specification: $1" esac # Copy testsuite into $RUNDIR to execute there, so that no cleanup is necessary @@ -50,6 +53,5 @@ if ./testsuite.sh $TESTS -- --keep-going; then elif test $BACKEND = llvm; then echo "Tests for backend llvm failed (but ignored for now)." else -echo >&2 "Tests for backend $BACKEND failed." -exit 1 +error "tests for backend $BACKEND failed." fi -- 2.39.2
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
Package: dpkg-dev Followup-For: Bug #872381 This new version, based on c881a5a8, * splits protection from double inclusion and dpkg_datadir generation into separate commits * fixes an error in DEB_BUILD_OPTION_PARALLEL * removes a few dubious optimizations (like checking if dpkg_datadir is already computed in default.mk). * removes non-ASCII characters from comments >From e29be20064687eee52fa9b6c1ee1cb722867d590 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 29 Jul 2019 14:38:32 +0200 Subject: [PATCH 01/10] scripts/mk: protect scripts from double inclusion Two such double inclusions already happen when default.mk is parsed. --- scripts/mk/architecture.mk | 5 + scripts/mk/buildapi.mk | 5 + scripts/mk/buildflags.mk | 6 ++ scripts/mk/buildopts.mk| 5 + scripts/mk/buildtools.mk | 5 + scripts/mk/default.mk | 5 + scripts/mk/pkg-info.mk | 5 + scripts/mk/vendor.mk | 5 + 8 files changed, 41 insertions(+) diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk index c11cada16..2ffcee287 100644 --- a/scripts/mk/architecture.mk +++ b/scripts/mk/architecture.mk @@ -2,6 +2,9 @@ # DEB_BUILD_* variables that dpkg-architecture can return. Existing values # of those variables are preserved as per policy. +ifndef dpkg_architecture.mk_included +dpkg_architecture.mk_included := + dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1)) @@ -9,3 +12,5 @@ dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-archit $(foreach machine,BUILD HOST TARGET,\ $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ $(eval $(call dpkg_architecture_setvar,DEB_$(machine)_$(var) + +endif diff --git a/scripts/mk/buildapi.mk b/scripts/mk/buildapi.mk index 668e325c8..ba6b43543 100644 --- a/scripts/mk/buildapi.mk +++ b/scripts/mk/buildapi.mk @@ -1,5 +1,8 @@ # This Makefile fragment (since dpkg 1.22.0) handles the build API. +ifndef dpkg_buildapi.mk_included +dpkg_buildapi.mk_included := + # Default API level when not set. DPKG_BUILD_API ?= $(shell dpkg-buildapi) @@ -7,3 +10,5 @@ DPKG_BUILD_API ?= $(shell dpkg-buildapi) # complexity given no integer operators, given that we currently have to # fetch the build API level anyway. dpkg_build_api_ge = $(shell test "$(DPKG_BUILD_API)" -ge "$(1)" && echo yes) + +endif diff --git a/scripts/mk/buildflags.mk b/scripts/mk/buildflags.mk index 4b8a3d8c4..02baa53f2 100644 --- a/scripts/mk/buildflags.mk +++ b/scripts/mk/buildflags.mk @@ -28,6 +28,10 @@ # You can also export them in the environment by setting # DPKG_EXPORT_BUILDFLAGS to a non-empty value. # + +ifndef dpkg_buildflags.mk_included +dpkg_buildflags.mk_included := + # This list is kept in sync with the default set of flags returned # by dpkg-buildflags. @@ -77,3 +81,5 @@ $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\ ifdef DPKG_EXPORT_BUILDFLAGS export $(DPKG_BUILDFLAGS_LIST) endif + +endif diff --git a/scripts/mk/buildopts.mk b/scripts/mk/buildopts.mk index c9519..6787da76f 100644 --- a/scripts/mk/buildopts.mk +++ b/scripts/mk/buildopts.mk @@ -5,6 +5,11 @@ # # DEB_BUILD_OPTION_PARALLEL: the argument for the parallel=N option. +ifndef dpkg_buildopts.mk_included +dpkg_buildopts.mk_included := + ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) DEB_BUILD_OPTION_PARALLEL = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) endif + +endif diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk index 933fdcfaa..08914c463 100644 --- a/scripts/mk/buildtools.mk +++ b/scripts/mk/buildtools.mk @@ -25,6 +25,9 @@ # The variables are not exported by default. This can be changed by # defining DPKG_EXPORT_BUILDTOOLS. +ifndef dpkg_buildtools.mk_included +dpkg_buildtools.mk_included := + dpkg_datadir = $(srcdir)/mk include $(dpkg_datadir)/architecture.mk @@ -74,3 +77,5 @@ $(eval $(call dpkg_buildtool_setvar,AR,ar)) $(eval $(call dpkg_buildtool_setvar,RANLIB,ranlib)) $(eval $(call dpkg_buildtool_setvar,PKG_CONFIG,pkgconf)) $(eval $(call dpkg_buildtool_setvar,QMAKE,qmake)) + +endif diff --git a/scripts/mk/default.mk b/scripts/mk/default.mk index 0b2fd4aca..b791f98a5 100644 --- a/scripts/mk/default.mk +++ b/scripts/mk/default.mk @@ -1,6 +1,9 @@ # This Makefile fragment (since dpkg 1.16.1) includes all the Makefile # fragments that define variables that can be useful within debian/rules. +ifndef dpkg_default.mk_included +dpkg_default.mk_included := + dpkg_datadir = $(srcdir)/mk include $(dpkg_datadir)/architecture.mk include $(dpkg_datadir)/buildapi.mk @@ -11,3 +14,5 @@ include $(dpkg_datadir)/buildflags.mk include $(dpkg_datadir)/buildopts.mk include $(dpkg_datadir)/pkg-info.mk include $(dpkg_datadir)/
Bug#1064840: dh-ada-library: Tests will fail after glibc DEP17 migration
Source: dh-ada-library Followup-For: Bug #1064840 Control: tags -1 + pending Hello. A fix is committed [1] and will be part of the pending t64/gnat-13 transition. [1] https://salsa.debian.org/debian/dh_ada_library/-/commit/d40951e34b40f8e9c63e961546a8a4093746857d [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1065309
Bug#1065309: transition: gnat 12 -> 13 + time_t64
Package: release.debian.org X-Debbugs-Cc: debian-...@lists.debian.org Hello. In addition to the information in https://bugs.debian.org/1065309, here is the usual summary preparing a gnat transition. -- This bug requests a green light for a transition of Ada packages from gnat-12 to gnat-13 in unstable. The gcc-V source package builds the Ada compiler (gnat-V) and companion library (libgnat-V). The default Ada compiler is selected by the gnat package. In unstable and testing, gnat Depends: gnat-12. In experimental, gnat Depends: gnat-13. This transition breaks the ABI of Ada libraries. Each Ada library has been uploaded to experimental with a new Shared Object version in the library package name (and hence, a passage through NEW). This is unrelated with gnat-13, but this transition also introduces a new naming scheme for Ada -dev packages in Debian. They stop carrying a version identifying the API, and instead provide a versioned virtual package instead. The effect is the same, an API break in an Ada library (this includes libgnat-V) requires a transition, but the NEW queue will not be involved anymore. Ben file: title = "gnat-13"; is_affected = .depends ~ "libgnat-8/libgnat-9/libgnat-10/libgnat-11/libgnat-12" | .depends ~ "libgnat-13"; is_good = .depends ~ "libgnat-13"; is_bad = .depends ~ "libgnat-8/libgnat-9/libgnat-10/libgnat-11/libgnat-12"; These packages provide a library and are ready in experimental. adacgi adasockets ahven anet dbusada gprbuild libalog libaunit libflorist libgmpada libgnatcoll The transition closes #1061631. libgnatcoll-db The transition closes #1064745. libgnatcoll-bindings libgtkada liblog4ada libncursesada libtemplates-parser The transition closes #1061633. libtexttools libxmlada libxmlezout pcscada plplot The reupload must merge 5.15.0+dfsg2-7+deb13u2/unstable and 5.15.0+dfsg2-8/experimental. The changes are small and unrelated with Ada. These packages, although not Ada libraries, are part of the transition. They are ready in experimental and need a rebuild in unstable. alire dh-ada-library gnat These packages produce no library. They need a bin-NMU. nmu music123_16.6-6 . ANY . -m 'Rebuild with gnat-13' dw music123_16.6-6 . ANY . -m 'gnat (>= 13.1)' nmu phcpack_2.4.89+dfsg-1. ANY . -m 'Rebuild with gnat-13' dw phcpack_2.4.89+dfsg-1. ANY . -m 'gnat (>= 13.1)' nmu topal_81-2 . ANY . -m 'Rebuild with gnat-13' dw topal_81-2 . ANY . -m 'gnat (>= 13.1)' nmu whitakers-words_0.2020.10.27-1.3 . ANY . -m 'Rebuild with gnat-13' dw whitakers-words_0.2020.10.27-1.3 . ANY . -m 'gnat (>= 13.1)' ada-reference-manual only requires gnat at build time. It should not be affected. ghdl build-depends on an explicit gnat version for reasons unrelated with the normal Ada policy. It should not be affected. These packages have been removed from testing for a while because of unrelated RC bugs. adabrowse adacontrol asis gnat-gps libaws
Bug#1043828: astroid: Fails to build source after successful build
Source: astroid Followup-For: Bug #1043828 Control: tags -1 + patch Hello. A trivial patch is available as a salsa merge request at https://salsa.debian.org/python-team/packages/astroid/-/merge_requests/5
Bug#947078: git-buildpackage: Need to make gbp clone pseudo protocols confgirable
Package: git-buildpackage Followup-For: Bug #947078 Hello. For me, this bug can be closed. Does anyone object?
Bug#1051098: suggestion: dh-builtusing may simplify the packaging
Source: u-boot Followup-For: Bug #1051098 Hello. Here is an updated version rebased on a609e1d2: >From 27ec150b506234e1a3e24688ed400627133ab5e2 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 2 Sep 2023 23:24:10 +0200 Subject: Delegate the Built-Using field to the dh-builtusing debhelper tool diff --git a/debian/control b/debian/control index 7a6bbc31cc..c6aec92cf6 100644 --- a/debian/control +++ b/debian/control @@ -7,6 +7,7 @@ Build-Depends: bc, bison, debhelper-compat (= 13), + dh-sequence-builtusing, flex, libpython3-dev:native [linux-any], libssl-dev, @@ -186,7 +187,8 @@ Description: A boot loader for omap systems Package: u-boot-sunxi Architecture: armhf arm64 Multi-Arch: same -Built-Using: ${u-boot-sunxi:Built-Using} +Built-Using: ${dh-builtusing:arm-trusted-firmware} [arm64], + ${dh-builtusing:crust-firmware} [arm64], Depends: ${misc:Depends} Recommends: u-boot-tools [arm64] Suggests: arm-trusted-firmware [arm64] @@ -240,7 +242,7 @@ Description: A boot loader for marvell systems Package: u-boot-rockchip Architecture: armhf arm64 Multi-Arch: same -Built-Using: ${u-boot-rockchip:Built-Using} +Built-Using: ${dh-builtusing:arm-trusted-firmware} [arm64] Depends: ${misc:Depends} Recommends: python3, u-boot-tools [arm64] Suggests: arm-trusted-firmware [arm64] @@ -294,7 +296,7 @@ Package: u-boot-sifive Architecture: riscv64 Multi-Arch: same Depends: ${misc:Depends} -Built-Using: ${u-boot-sifive:Built-Using} +Built-Using: ${dh-builtusing:opensbi} Description: A boot loader for SiFive systems Das U-Boot is a cross-platform bootloader for embedded systems, used as the default boot loader by several board vendors. It is @@ -312,7 +314,7 @@ Package: u-boot-starfive Architecture: riscv64 Multi-Arch: same Depends: ${misc:Depends} -Built-Using: ${u-boot-starfive:Built-Using} +Built-Using: ${dh-builtusing:opensbi} Description: A boot loader for Starfive systems Das U-Boot is a cross-platform bootloader for embedded systems, used as the default boot loader by several board vendors. It is diff --git a/debian/rules b/debian/rules index fc7c8e54d4..9cc8ee3e52 100755 --- a/debian/rules +++ b/debian/rules @@ -159,6 +159,6 @@ override_dh_clean: find . -type d -name __pycache__ -delete override_dh_gencontrol: - dh_gencontrol -- $(dpkg-gencontrol_args) $(foreach package,\ + dh_gencontrol -- $(foreach package,\ u-boot-qemu $(subarchs),\ '-V$(package):platforms=$(subst $() ,$${Newline},$($(package)_platforms))') diff --git a/debian/targets.mk b/debian/targets.mk index 12eb78b9b8..f7e10d2ea0 100644 --- a/debian/targets.mk +++ b/debian/targets.mk @@ -51,9 +51,6 @@ ifeq (${DEB_HOST_ARCH},arm64) # u-boot-rockchip - dpkg-gencontrol_args += "-Vu-boot-rockchip:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' arm-trusted-firmware)" - # Vagrant Cascadian u-boot-rockchip_platforms += firefly-rk3399 firefly-rk3399_assigns := BL31=/usr/lib/arm-trusted-firmware/rk3399/bl31.elf @@ -145,9 +142,6 @@ ifeq (${DEB_HOST_ARCH},arm64) u-boot-sunxi_assigns = \ SCP=$(or $(wildcard /usr/lib/crust-firmware/$(platform).bin),/dev/null) - dpkg-gencontrol_args += "-Vu-boot-sunxi:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' arm-trusted-firmware)" - u-boot-sunxi_platforms += a64-olinuxino a64-olinuxino_assigns := BL31=/usr/lib/arm-trusted-firmware/sun50i_a64/bl31.bin a64-olinuxino_targets := arch/arm/dts/sun50i-a64-olinuxino.dtb \ @@ -386,9 +380,6 @@ else ifeq (${DEB_HOST_ARCH},armhf) # u-boot-rockchip - # Silent a debhelper warning about an unused substvar. - dpkg-gencontrol_args += -Vu-boot-rockchip:Built-Using= - # Vagrant Cascadian , 2GB and 4GB variants u-boot-rockchip_platforms += firefly-rk3288 firefly-rk3288_targets := idbloader.img spl/u-boot-spl.bin u-boot.bin \ @@ -423,9 +414,6 @@ else ifeq (${DEB_HOST_ARCH},armhf) # u-boot-sunxi - # Silent a debhelper warning about an unused substvar. - dpkg-gencontrol_args += -Vu-boot-sunxi:Built-Using= - # Christian Kastner u-boot-sunxi_platforms += A10-OLinuXino-Lime A10-OLinuXino-Lime_targets := u-boot-sunxi-with-spl.bin uboot.elf @@ -544,9 +532,6 @@ else ifeq (${DEB_HOST_ARCH},riscv64) # u-boot-sifive - dpkg-gencontrol_args += "-Vu-boot-sifive:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' opensbi)" - # Hector Oron u-boot-sifive_platforms += sifive_unleashed sifive_unleashed_targets := u-boot.bin uboot.elf spl/u-boot-spl.bin u-boot.itb @@ -559,9 +544,6 @@ else ifeq (${DEB_HOST_ARCH},riscv64) # u-boot-starfive - dpkg-gencontrol_args += "-Vu-boot-starfive:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' opensbi)" - # Anatoliy Gunya u-boot-starfive_platform
Bug#990824: debian/rules: Filter packages and platforms without build profiles
Source: u-boot Followup-For: Bug #990824 Hello. This version is (trivially) rebased on a609e1d2. >From 39ea68aadb043a3f38143bb41ad929cbeb11b5c9 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 8 Jul 2021 17:11:19 +0200 Subject: debian/rules: Filter packages and platforms without build profiles This idea has been discussed since #979296, but the initial implementation was incompatible with dpkg-buildpackage. All three variants should now work: debian/rules package_filter=u-boot/%rockchip/%sunxi platform_filter=%-rk3399/a64-olinuxino% dpkg-buildpackage '--rules-file=debian/rules package_filter=...' sbuild '--debbuildopt=--rules-file=debian/rules package_filter=...' diff --git a/debian/rules b/debian/rules index fc7c8e54d4..f1ac900bb9 100755 --- a/debian/rules +++ b/debian/rules @@ -34,22 +34,20 @@ notools := $(filter pkg.uboot.notools,$(DEB_BUILD_PROFILES)) subarchs := $(shell dh_listpackages --arch --no-package=u-boot-tools) -# Each .deb P in subarch contains $(P_platforms). -# These profiles remove values from $(P_platforms) for debugging. - -# DEB_BUILD_PROFILES='pkg.uboot.subarch.P1 pkg.uboot.subarch.P2' -# removes all platforms but in packages u-boot-P1 u-boot-P2. -only_subarchs := $(patsubst pkg.uboot.subarch.%,u-boot-%,\ - $(filter pkg.uboot.subarch.%,$(DEB_BUILD_PROFILES))) +# For debugging purposes, some filters may restrict the actually built +# platforms. The expected contents are Make patterns (with at most +# one % wildcard), separated by / (because spaces are difficult to +# escape from dpkg-buildpackage --rules-file). +# package_filter=u-boot/%amlogic/%mvebu +# platform_filter=khadas-vim% + +only_subarchs := $(subst /, ,$(package_filter)) ifneq (,$(only_subarchs)) $(foreach pkg,$(filter-out $(only_subarchs),$(subarchs)),$(eval \ $(pkg)_platforms :=)) endif -# DEB_BUILD_PROFILES='pkg.uboot.platform.P1 pkg.uboot.platform.P2' -# removes all platforms but P1 P2. -only_platforms := $(patsubst pkg.uboot.platform.%,%,\ -$(filter pkg.uboot.platform.%,$(DEB_BUILD_PROFILES))) +only_platforms := $(subst /, ,$(platform_filter)) ifneq (,$(only_platforms)) $(foreach pkg,$(subarchs),$(eval \ $(pkg)_platforms := $(filter $(only_platforms),$($(pkg)_platforms
Bug#1010751: clone: handle -b optional branch specification in VCS-Git
Package: git-buildpackage Followup-For: Bug #1010751 Ping?
Bug#1065211: ITP: ada-bar-codes -- Bar or QR code formatter for the Ada programming language
Package: wnpp Severity: wishlist Owner: Nicolas Boulenguez X-Debbugs-Cc: debian-de...@lists.debian.org * Package name: ada-bar-codes Version : 002.20240219 Upstream Contact: Gautier de Montmollin * URL : https://sourceforge.net/projects/ada-bar-codes/ * License : Expat-MIT Programming Lang: Ada Description : Bar or QR code formatter for the Ada programming language This Ada library generates various bar or QR codes, on different output formats such as PDF, SVG or bitmaps. The package is ready, I intend to upload it to NEW after the gnat-13 transition.
Bug#1064620: firmware-nonfree: suggestions for the packaging, gencontrol.py and debian/rules
Source: firmware-nonfree Version: 20230210-5 Severity: wishlist Tags: patch Hello. The source package builds with the attached changes (2 to 10), and debdiff finds no difference in the resulting debs for firmware-{linux,linux-nonfree,qcom-media} (testing do_extra in gencontrol.py) firmware-realtek (testing an example of do_main in gencontrol.py) Commit 2 to 9 are cosmetic. Commit 10 simplifies the build system in my opinion, and may improve the handling of spaces in file names (1#1035505). This is a complex package and I miss context, so I may of course split 10 in separate commits or revert parts of it depending on your answer. >From 798e5b247db70dc24ce6736a4eba7b5ae17ca41d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 23 Feb 2024 17:10:17 +0100 Subject: [PATCH 02/10] d/README.Debian: typo --- debian/README.source | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/README.source b/debian/README.source index 15c11bf..43e897a 100644 --- a/debian/README.source +++ b/debian/README.source @@ -85,7 +85,7 @@ Optional per-file metadata: [_base] desc: One-line description for this file, used in package description -[_base] version: Verson number for this file, used in package +[_base] version: Version number for this file, used in package description To re-generate debian/control (and other files) based on these -- 2.39.2 >From c525da983a782b3d58e7ba4f793930e197fc05d7 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 23 Feb 2024 17:11:31 +0100 Subject: [PATCH 03/10] d/clean: instead of complexity in d/rules --- debian/clean | 2 ++ debian/rules | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 debian/clean diff --git a/debian/clean b/debian/clean new file mode 100644 index 000..b0bff90 --- /dev/null +++ b/debian/clean @@ -0,0 +1,2 @@ +debian/build/ +debian/lib/python/__pycache__/ diff --git a/debian/rules b/debian/rules index 5867d9f..ccd41a7 100755 --- a/debian/rules +++ b/debian/rules @@ -15,7 +15,6 @@ build-indep build-arch build: debian/control clean: debian/control dh_testdir - rm -rf debian/build debian/lib/python/__pycache__ dh_clean binary-indep: build-indep -- 2.39.2 >From d193cb90f02e2c669c1ad2fb91759f4d9c3591e8 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 23 Feb 2024 17:28:04 +0100 Subject: [PATCH 04/10] d/rules: use dpkg pkg-info.mk snippet instead of reinventing it --- debian/rules | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/debian/rules b/debian/rules index ccd41a7..d9a2d38 100755 --- a/debian/rules +++ b/debian/rules @@ -1,10 +1,9 @@ #!/usr/bin/make -f SHELL := sh -e -SOURCE := $(shell dpkg-parsechangelog -SSource) -VERSION := $(shell dpkg-parsechangelog -SVersion) -VERSION_UPSTREAM := $(shell echo "$(VERSION)" | sed -e 's,-[^-]*$$,,') -VERSION_BINNMU := $(shell echo "$(VERSION)" | sed -rne 's,.*\+b([0-9]+)$$,\1,p') -VERSION_SOURCE := $(patsubst %+b$(VERSION_BINNMU),%,$(VERSION)) + +include /usr/share/dpkg/pkg-info.mk +VERSION_BINNMU := $(shell echo "$(DEB_VERSION)" | sed -rne 's,.*\+b([0-9]+)$$,\1,p') +VERSION_SOURCE := $(patsubst %+b$(VERSION_BINNMU),%,$(DEB_VERSION)) include debian/rules.defs @@ -35,7 +34,7 @@ CONTROL_FILES += debian/bin/gencontrol.py debian/config/defines $(wildcard debia # in the checksum. debian/build/version-info: debian/changelog mkdir -p $(@D) - printf >$@ 'Source: %s\nVersion: %s\n' $(SOURCE) $(VERSION_SOURCE) + printf >$@ 'Source: %s\nVersion: %s\n' $(DEB_SOURCE) $(VERSION_SOURCE) debian/control debian/rules.gen: $(GENCONTROL) $(CONTROL_FILES) ifeq ($(wildcard debian/control.md5sum),) @@ -59,8 +58,8 @@ debian/control-real: $(GENCONTROL) $(CONTROL_FILES) @echo exit 1 -DIR_ORIG = ../orig/$(SOURCE)-$(VERSION_UPSTREAM) -TAR_ORIG_NAME = $(SOURCE)_$(VERSION_UPSTREAM).orig.tar.xz +DIR_ORIG = ../orig/$(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM) +TAR_ORIG_NAME = $(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig.tar.xz TAR_ORIG = $(firstword $(wildcard ../$(TAR_ORIG_NAME)) $(wildcard ../orig/$(TAR_ORIG_NAME))) orig: $(DIR_ORIG) -- 2.39.2 >From 1327a9f8e15b602e7f3df768758f478b548dbd50 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 23 Feb 2024 17:28:38 +0100 Subject: [PATCH 05/10] d/rules: expand GENCONTROL instead of duplicating its contents --- debian/rules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index d9a2d38..f455e5e 100755 --- a/debian/rules +++ b/debian/rules @@ -26,9 +26,9 @@ binary-arch: build-arch binary: binary-indep binary-arch CONTROL_FILES = debian/build/version-info $(wildcard debian/templates/*.in) -CONTROL_FILES += debian/bin/gencontrol.py debian/config/defines $(wildcard debian/config/*/defines) debian/modinfo.json +CONTROL_FILES += $(GENCONTROL) debian/co
Bug#1064618: firmware-realtek: please install rtlwifi/rtl8188fufw.bin
Package: firmware-realtek Severity: wishlist Tags: patch Hello. It seems that rtlwifi/rtl8188fufw.bin is now part of the Linux firmwares repository. The attachment attempts to spare you some time, and builds on Debian, but is not tested on actual hardware yet. >From 3a37cc18ee2709e807ff1f330bdc05a8db63efa0 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 23 Feb 2024 17:12:57 +0100 Subject: [PATCH 01/10] realtek: Add RTL8188fufw firmware --- debian/config/realtek/defines | 5 + debian/copyright | 2 +- debian/modinfo.json | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/config/realtek/defines b/debian/config/realtek/defines index a68029b..9f600bd 100644 --- a/debian/config/realtek/defines +++ b/debian/config/realtek/defines @@ -70,6 +70,7 @@ files: rtl_nic/rtl8411-2.fw rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin + rtlwifi/rtl8188fufw.bin rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cfwU.bin @@ -340,6 +341,10 @@ desc: Realtek RTL8188EE firmware desc: Realtek RTL8188EU firmware version: 28.0 +[rtlwifi/rtl8188fufw.bin_base] +desc: Realtek RTL8188FU firmware +version: 4.3.23.6_20964.20170110 + [rtlwifi/rtl8192cfw.bin_base] desc: Realtek RTL8192CE/RTL8188CE firmware diff --git a/debian/copyright b/debian/copyright index 809b65d..0f1f247 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4265,7 +4265,7 @@ License: binary-redist-Realtek-permissive notice is accompanying it. Files: RTL8192E/* rtlwifi/* rtw88/* -Copyright: 2009-2010, Realtek Semiconductor Corporation +Copyright: 2009-2017, Realtek Semiconductor Corporation License: binary-redist-Realtek-restrictive All rights reserved. . diff --git a/debian/modinfo.json b/debian/modinfo.json index ffee46a..333bc30 100644 --- a/debian/modinfo.json +++ b/debian/modinfo.json @@ -7000,6 +7000,7 @@ "rtlwifi/rtl8192cufw_B.bin", "rtlwifi/rtl8192cufw_A.bin", "rtlwifi/rtl8188eufw.bin", + "rtlwifi/rtl8188fufw.bin", "rtlwifi/rtl8723aufw_B_NoBT.bin", "rtlwifi/rtl8723aufw_B.bin", "rtlwifi/rtl8723aufw_A.bin" -- 2.39.2
Bug#1054124: dh-ada-library: dh_ada_library output causes /usr/share/ada/packaging.mk:81: *** missing separator error
Hello. > debhelper 13.11.4 > dh-ada-library 8.6 > gnat-1010.2.1-6 > $ dh_ada_library --export-versions > DEB_GNAT_VERSION:=GNATMAKE 10.2.1 20210110 I failed to reproduce your issue with debhelper 13.11.10 dh-ada-library 8.6 gnat-1010.5.0-2 That is, the output is DEB_GNAT_VERSION:=10 Can you reproduce the issue? Which version of the 'gnat' package is involved, if any? Also, in which source tree/commit are you executing dh_ada_library? One could imagine a problem while parsing debian/control.
Bug#872381: dpkg-dev: optimize Makefile snippets for debian/rules
Package: dpkg-dev Followup-For: Bug #872381 Hello. The attached commits rebase the suggestions, take your answers into account and slightly improved some style issues. There may remain typos, nothing is tested this time. >From d56d5af7fa1a01a581d0cc1901572ca9c407f538 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 29 Jul 2019 14:38:32 +0200 Subject: [PATCH 1/8] scripts/mk: stop hard-coding dpkg_datadir, protect from double inclusion The Makefile snippets include each other from their common directory, but the path differ during tests and after installation. Instead of rewriting the file with a hardcoded path, compute it within Make. Use the same variables to avoid 'include' when possible, as it involves system calls. When setting dpkg_datadir, prefer 'ifndef' and ':=' to '?=', so that the value is computed at most once. --- build-aux/subst.am | 6 -- scripts/mk/Makefile.am | 21 - scripts/mk/architecture.mk | 5 + scripts/mk/buildapi.mk | 5 + scripts/mk/buildflags.mk | 6 ++ scripts/mk/buildopts.mk| 5 + scripts/mk/buildtools.mk | 11 ++- scripts/mk/default.mk | 10 +- scripts/mk/pkg-info.mk | 5 + scripts/mk/vendor.mk | 11 ++- 10 files changed, 55 insertions(+), 30 deletions(-) diff --git a/build-aux/subst.am b/build-aux/subst.am index 5515930d0..167a71257 100644 --- a/build-aux/subst.am +++ b/build-aux/subst.am @@ -39,9 +39,3 @@ SUFFIXES += .pl @test -d `dirname $@` || $(MKDIR_P) `dirname $@` $(do_perl_subst) <$< >$@ $(AM_V_at) chmod +x $@ - -# Makefile support. - -do_make_subst = $(AM_V_GEN) $(SED) \ - -e "s:dpkg_datadir[[:space:]]*=[[:space:]]*[^[:space:]]*:dpkg_datadir = $(pkgdatadir):" \ - # EOL diff --git a/scripts/mk/Makefile.am b/scripts/mk/Makefile.am index 257ba5252..6e85e17b9 100644 --- a/scripts/mk/Makefile.am +++ b/scripts/mk/Makefile.am @@ -10,24 +10,3 @@ dist_pkgdata_DATA = \ pkg-info.mk \ vendor.mk \ # EOL - -SUFFIXES = - -include $(top_srcdir)/build-aux/subst.am - -# Ideally we'd use '$(SED) -i', but unfortunately that's not portable. -install-data-hook: - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/default.mk \ - >$(DESTDIR)$(pkgdatadir)/default.mk.new - mv $(DESTDIR)$(pkgdatadir)/default.mk.new \ - $(DESTDIR)$(pkgdatadir)/default.mk - - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/buildtools.mk \ - >$(DESTDIR)$(pkgdatadir)/buildtools.mk.new - mv $(DESTDIR)$(pkgdatadir)/buildtools.mk.new \ - $(DESTDIR)$(pkgdatadir)/buildtools.mk - - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/vendor.mk \ - >$(DESTDIR)$(pkgdatadir)/vendor.mk.new - mv $(DESTDIR)$(pkgdatadir)/vendor.mk.new \ - $(DESTDIR)$(pkgdatadir)/vendor.mk diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk index c11cada16..2ffcee287 100644 --- a/scripts/mk/architecture.mk +++ b/scripts/mk/architecture.mk @@ -2,6 +2,9 @@ # DEB_BUILD_* variables that dpkg-architecture can return. Existing values # of those variables are preserved as per policy. +ifndef dpkg_architecture.mk_included +dpkg_architecture.mk_included := + dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-architecture -q$(1)) @@ -9,3 +12,5 @@ dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-archit $(foreach machine,BUILD HOST TARGET,\ $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ $(eval $(call dpkg_architecture_setvar,DEB_$(machine)_$(var) + +endif diff --git a/scripts/mk/buildapi.mk b/scripts/mk/buildapi.mk index 668e325c8..ba6b43543 100644 --- a/scripts/mk/buildapi.mk +++ b/scripts/mk/buildapi.mk @@ -1,5 +1,8 @@ # This Makefile fragment (since dpkg 1.22.0) handles the build API. +ifndef dpkg_buildapi.mk_included +dpkg_buildapi.mk_included := + # Default API level when not set. DPKG_BUILD_API ?= $(shell dpkg-buildapi) @@ -7,3 +10,5 @@ DPKG_BUILD_API ?= $(shell dpkg-buildapi) # complexity given no integer operators, given that we currently have to # fetch the build API level anyway. dpkg_build_api_ge = $(shell test "$(DPKG_BUILD_API)" -ge "$(1)" && echo yes) + +endif diff --git a/scripts/mk/buildflags.mk b/scripts/mk/buildflags.mk index 4b8a3d8c4..02baa53f2 100644 --- a/scripts/mk/buildflags.mk +++ b/scripts/mk/buildflags.mk @@ -28,6 +28,10 @@ # You can also export them in the environment by setting # DPKG_EXPORT_BUILDFLAGS to a non-empty value. # + +ifndef dpkg_buildflags.mk_included +dpkg_buildflags.mk_included := + # This list is kept in sync with the default set of flags returned # by dpkg-buildflags. @@ -77,3 +81,5 @@ $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\ ifdef DPKG_EX
Bug#1059208: dh-ada-library: should strip the unreproducible path from the installed project
Package: dh-ada-library Severity: wishlist https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030715 shows an example. Such unreproducibilities will affect most packages using the gprinstall tool, so a common solution seems better and the right place for that is dh-ada-library.
Bug#916475: ghdl: various suggestions to simplify the packaging
Source: ghdl Followup-For: Bug #916475 Hello. The remaining suggestions are rebased and attached. > Dh-builtusing If you agree in principle with attachment #1 but do not want to apply it for now, please keep a reminder (this bug, a pull request or whatever fits your workflow). > This is kind of obscure, think of the (lack of an) error message. If we > skip this we'll get an "undefined $2" error due to set -u, which I find is > more helpful than a quiet exit rv>0. Attachment #2 should answer your concern. > I've finally pushed your patches through to salsa after build testing and > verifying the resulting binary packages packages are equivalent using > debdiff. Differences are seem to come down to to dependency versions > changing: This seems OK to me, or unrelated for the dependency on libzstd1. >From ea21a75e408397b0ed6e926ad4c34179f5d13e3b Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sun, 1 Oct 2023 01:14:25 +0200 Subject: [PATCH 1/2] Delegate computation of Built-Using to dh-builtusing --- debian/control | 7 --- debian/rules | 9 - 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/debian/control b/debian/control index 585ee55e..545c44b4 100644 --- a/debian/control +++ b/debian/control @@ -5,6 +5,7 @@ Maintainer: Debian Electronics Team Build-Depends: debhelper-compat (= 13), dh-ada-library (>= 8.1), + dh-sequence-builtusing, gnat-12, gcc-12, g++-12, gcc-12-source , libisl-dev (>= 0.14) , @@ -80,7 +81,7 @@ Description: VHDL compiler/simulator (mcode backend) Package: ghdl-gcc Architecture: any Build-Profiles: -Built-Using: ${Built-Using-GCC} +Built-Using: ${dh-builtusing:gcc-S-source} Depends: ghdl-common (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, gcc, zlib1g-dev Description: VHDL compiler/simulator (GCC backend) @@ -122,7 +123,7 @@ Description: VHDL compiler/simulator (tools) Package: libghdl-3-0-0 Architecture: any -Built-Using: ${Built-Using-GCC} +Built-Using: ${dh-builtusing:gcc-S-source} Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same Description: VHDL compiler/simulator (shared library) @@ -135,7 +136,7 @@ Description: VHDL compiler/simulator (shared library) Package: libghdl-dev Architecture: any -Built-Using: ${Built-Using-GCC} +Built-Using: ${dh-builtusing:gcc-S-source} Depends: libghdl-3-0-0 (= ${binary:Version}), ${misc:Depends} Multi-Arch: same Description: VHDL compiler/simulator (library development files) diff --git a/debian/rules b/debian/rules index 5821f85d..138b8581 100755 --- a/debian/rules +++ b/debian/rules @@ -95,15 +95,6 @@ override_dh_strip: dh_strip -N libghdl-3-0-0 dh_strip -p libghdl-3-0-0 --dbgsym-migration='libghdl-2-0-0' -override_dh_gencontrol: -ifneq ($(filter gcc,$(BACKENDS)),) - dh_gencontrol -- -VBuilt-Using-GCC="$(shell dpkg-query -f '$${Source} (= $${Version})' -W gcc-$(DEB_GNAT_VERSION)-source)" -else - dh_gencontrol -endif - - - configure-llvm-stamp configure-mcode-stamp: configure-%-stamp: $(announce) mkdir -p $(BUILDDIR)/$* -- 2.39.2 >From 07b885622c11d970f3e3c5102578c9265b5491d4 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 5 Oct 2023 14:39:35 +0200 Subject: [PATCH 2/2] test driver: move error reporting to a separate procedure --- debian/tests/ghdl-tests | 32 +--- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/debian/tests/ghdl-tests b/debian/tests/ghdl-tests index 871d594b..eae5e43c 100755 --- a/debian/tests/ghdl-tests +++ b/debian/tests/ghdl-tests @@ -6,29 +6,32 @@ set -C -e -f -u # Debian yet. TESTS="sanity gna vests synth vpi vhpi" -test $# = 2 +error() { +echo >&2 "$0: $1" +exit 1 +} + +test $# = 2 || error "bad argument count: $#" case "$2" in gcc|llvm|mcode) - BACKEND=$2 - ;; +BACKEND=$2 +;; *) - echo >&2 "Invalid backend specification" - exit 1 +error "invalid backend specification: $2" esac case "$1" in buildtest) - RUNDIR=testrundir/$BACKEND - GHDL="$PWD/$RUNDIR/usr/bin/ghdl-$BACKEND" - ;; +RUNDIR=testrundir/$BACKEND +GHDL="$PWD/$RUNDIR/usr/bin/ghdl-$BACKEND" +;; autopkgtest) - RUNDIR="$AUTOPKGTEST_TMP" - GHDL=/usr/bin/ghdl-$BACKEND - ;; +RUNDIR="$AUTOPKGTEST_TMP" +GHDL=/usr/bin/ghdl-$BACKEND +;; *) - echo >&2 "Invalid test environment specification" - exit 1 +error "invalid test environment specification: $1" esac # Copy testsuite into $RUNDIR to execute there, so that no cleanup is necessary @@ -50,6 +53,5 @@ if ./testsuite.sh $TESTS -- --keep-going; then elif test $BACKEND = llvm; then echo "Tests for backend llvm failed (but ignored for now)." else -echo >&2 "Tests for backend $BACKEND failed." -exit 1 +error "tests for backend $BACKEND failed." fi -- 2.39.2
Bug#1054125: dh-builtusing: Please backport dh-builtusing to bookworm
Have you seen this? https://lists.debian.org/debian-devel/2023/08/ > I've been toying with the idea of setting up a Debian-wide system to nag > maintainers about out-of-date, inconsistent or plain broken packaging git > repos. This logic to diff the dsc against one built from unstable could be > part of that effort. Some will probably argue that you are trying to influence their priorities, that non-git .dsc formats are obsolete, and so on. Moreover, even if you guess the git tag and whether patches are applied, there is probably no deterministic way to tell if .gitignore matches the workflow of upstream, Debian or both. For the avoidance of doubt, I would appreciate such alerts, a Debian policy about tags and patches, and that .gitignore is only allowed for self defense... > Even with git what may be missing is a hook in dpkg-buildpackage to abort > the (source) build when the worktree is unclean, I often build with manual changes in debian/ that I want tested before committed. > > [...] script cleaning after the build, > > then reporting any difference between the source and the .dsc. > > The output is almost always either > > * trivial to work-around in Debian > >(echo '*.o' > debian/clean) > >(fixing upstream may be another story) > > * short enough to be easily ignored > >(./configure), > > * or a real issue. > [..] could you elaborate or show an example? The script I am using is too lazy for public exposure. Here are the parts unrelated with pbuilder. # After a successful build, clean and compare the source directory # with the contents extracted by dpkg-source. # The diff must match debian/clean.diff if it exists, else be empty. # Example: # Only in ../dsc: Makefile.in # Only in ../dsc: config.h # Only in ../dsc: configure # If lots of files are removed, repackaging with Files-Excluded is # probably a better option, see uscan(1). #!/bin/sh set -Ceux source=$(dpkg-parsechangelog -SSource) version=$(dpkg-parsechangelog -SVersion) dsc_dir=../dsc debian/rules clean dpkg-source -x ../$source_$version.dsc $dsc_dir if ! (diff -qr $dsc_dir . || true) | diff -N debian/clean.diff -; then # Display a full diagnostic while $dsc_dir is available. diff -ru $dsc_dir . || true # When -ru is empty, -N above already reported the obsolete clean.diff. fi rm -fr $dsc_dir
Bug#1055235: nmu: libgnatcoll_24.1.20230921-2
Package: release.debian.org Severity: normal User: release.debian@packages.debian.org Usertags: binnmu X-Debbugs-Cc: libgnatc...@packages.debian.org Control: affects -1 + src:libgnatcoll Hello. This follows the NMU requested at https://bugs.debian.org/1055063 nmu: gprbuild_2024.1.20231009-2 in experimental The NMU did fix the hash sum in the libgnatprj-dev-HASH virtual packages provided by libgnatprj-dev. Now, the exact same issue affects a reverse dependency: src:libgnatcoll libgnatcoll-dev libgnatcoll-dev-HASH. Please also fix this one with a similar NMU. There should be no more surprise. The only remaining affected package is libgnatcoll-bindings, and it requires a full upload anyways (in order to increase the shared object versions). nmu libgnatcoll_24.1.20230921-2 . amd64 . experimental . -m "nmu: libgnatcoll_24.1.20230921-2 in experimental"
Bug#1055063: nmu: gprbuild_2024.1.20231009-2 in experimental
Package: release.debian.org Severity: normal User: release.debian@packages.debian.org Usertags: binnmu X-Debbugs-Cc: gprbu...@packages.debian.org Control: affects -1 + src:gprbuild Hello. The gprbuild source package builds the libgnatprj-dev binary package. Libgnatprj-dev Depends: on gnat-13-HASH, provided by gnat-13 libxmlada-unicode-dev-HASH, provided by libxmlada-unicode-dev, and so on for each Ada library. The .deb I have uploaded for amd64 contains invalid hash sums, hence cannot be installed (most probably because I was mixing unstable/experimental). The .deb for other architectures, built by buildds, seems OK. Please rebuild gprbuild against libxmlada-*-dev/23.0.0-6 (already available in experimental for amd64). The rebuild should fix the hashes in the Depends field. Thanks. nmu gprbuild_2024.1.20231009-2 . amd64 . experimental . -m "Rebuild against libxmlada-*-dev/23.0.0-6, fixing libgnatprj-dev dependencies"
Bug#947078: git-buildpackage: Need to make gbp clone pseudo protocols confgirable
Package: git-buildpackage Followup-For: Bug #947078 Hello. Does the solution suggested in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=947078 solve your problem? If so, may we close this bug? Thanks.
Bug#1036069: gnat: 'gprconfig --show-targets' fails with constraint_error
Source: gprbuild Followup-For: Bug #1036069 Control: reassign -1 gprconfig 23.0.0-3 Control: tags -1 + pending Hello. Thanks for reporting. The issue should be fixed by the next upload of gprconfig-kb.
Bug#1036069: gnat: gprconfig -show-targets' fails with constraint_error
Source: gprbuild Followup-For: Bug #1036069 Control: reassign -1 gprconfig 23.0.0-3 Control: tags -1 + pending Hello. Thanks for reporting. The issue should be fixed by the next upload of gprconfig-kb.
Bug#643663: gnat-12: Legal program rejected (record component with no supplied value) and invalid access to atomic variable
Package: gnat-12 Followup-For: Bug #643663 Control: reassign 643663 gnat-13 13.2.0-5 Control: retitle 643663 gnat: invalid access to atomic variable Hello. With gnat-13, the following sources compile without error. On the other hand, the invalid access to the atomic variable may not be fixed. Do you think we can close this bug? Upstream seems to think so (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50558) package Pkg is type Byte is mod 2**8; type Reserved_24 is mod 2**24; type Data_Record is record Data : Byte; Reserved : Reserved_24; end record; for Data_Record use record Data at 0 range 0 .. 7; Reserved at 0 range 8 .. 31; end record; for Data_Record'Size use 32; for Data_Record'Alignment use 4; Data_Register : Data_Record; pragma Atomic (Data_Register); end Pkg; with Pkg; procedure Test is begin Pkg.Data_Register := ( Data => 255, others => <> -- expected error: no value supplied for component "Reserved" ); end Test;
Bug#916475: [Pkg-electronics-devel] Bug#916475: ghdl: various suggestions to simplify the packaging
> This breaks the build for me since I build the source package on bookworm > (via gbp). I might hold off on this one until dh-builtusing is backported. Passing -nc to dpkg-buildpackage may fix this, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054125 Else, there is no problem with postponing the change. Dh-builtusing is convenient but not necessary. > > Subject: [PATCH 12/14] Various minor improvements in the test driver > > test $1 = 2 > This is kind of obscure, think of the (lack of an) error message. If we > skip this we'll get an "undefined $2" error due to set -u, which I find is > more helpful than a quiet exit rv>0. Please use the attached commit instead. >From 610cb15f44cf9c9d1f582a816f1deefe63ac26a1 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 5 Oct 2023 14:39:35 +0200 Subject: [PATCH 1/3] Various minor improvements in the test driver Enable more alerts by the shell. Check the argument count. Replace test cascades with 'case' constructs. There is no need to create RUNDIR because the script is called after a 'make install'. There is no need to check that the RUNDIR variable is not empty, it is set in all branches of the previous construct. --- debian/tests/ghdl-tests | 48 - 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/debian/tests/ghdl-tests b/debian/tests/ghdl-tests index 5868e16c..9ef0a66d 100755 --- a/debian/tests/ghdl-tests +++ b/debian/tests/ghdl-tests @@ -1,39 +1,38 @@ #!/bin/sh -set -e +set -C -e -f -u # The pyunit tests are not run here. These parts are not activated in # Debian yet. TESTS="sanity gna vests synth vpi vhpi" +error() { +echo >&2 "$0: $1" +exit 1 +} -if [ "$2" = mcode ]; then - BACKEND=mcode -elif [ "$2" = llvm ]; then - BACKEND=llvm -elif [ "$2" = gcc ]; then - BACKEND=gcc -else - echo >&2 "Invalid backend specification" - exit 1 -fi +test $# = 2 || error "bad argument count: $#" -if [ "$1" = buildtest ]; then +case "$2" in +gcc|llvm|mcode) + BACKEND=$2 + ;; +*) + error "invalid backend specification: $2" +esac + +case "$1" in +buildtest) RUNDIR=testrundir/$BACKEND - mkdir -p "$RUNDIR" GHDL="$PWD/$RUNDIR/usr/bin/ghdl-$BACKEND" -elif [ "$1" = autopkgtest ]; then + ;; +autopkgtest) RUNDIR="$AUTOPKGTEST_TMP" GHDL=/usr/bin/ghdl-$BACKEND -else - echo >&2 "Invalid test environment specification" - exit 1 -fi - -if [ -z "$RUNDIR" ]; then - echo >&2 "RUNDIR is empty string" - exit 1 -fi + ;; +*) + error "invalid test environment specification: $1" +esac # Copy testsuite into $RUNDIR to execute there, so that no cleanup is necessary # (entire $RUNDIR will be deleted later). Also copy src/grt as at least one test @@ -54,6 +53,5 @@ if ./testsuite.sh $TESTS -- --keep-going; then elif test $BACKEND = llvm; then echo "Tests for backend llvm failed (but ignored for now)." else -echo >&2 "Tests for backend $BACKEND failed." -exit 1 +error "tests for backend $BACKEND failed." fi -- 2.39.2
Bug#1054125: dh-builtusing: Please backport dh-builtusing to bookworm
Hello. > would it be possible to get dh-builtusing backported for bookworm? We > want to use dh-builtusing in ghdl (as you know ;), but I run my > package builds on bookworm, inside an sbuild chroot, but gbp breaks > when building the source package it's going to hand to the chroot. Please first consider a simple solution that I have been using for years. Dpkg-buildpackage --build=source (run by $tool) cleans the source tree before preparing the .dsc (that $tool then copies into the chroot). The motivation for the cleaning was probably to prevent objects embedded into the .dsc, but * dpkg-buildpackage now (source format 3.0) aborts when it detects a file present in the source tree but missing or different in the .orig tarball * chroot users rarely build objects locally * git users (keeping away from .gitignore) rarely forget objects in the source tree. The clean step may even be harmful. * It requires build dependencies outside the chroot (your issue with dh-builtusing). * Even if these are installed, the versions and behaviour may differ. (probable cause of your issue with dh-ada-library) * The upstream clean process may execute surprising commands like find . -name '*~' -delete git reset --hard or make applied debian/patches hard to revert. * Various packages require incompatible Build-Dependencies. * ... You can disable the clean with # dpkg-buildpackage -nc # pdebuild --debbuildopts -nc or a similar gbp-buildpackage option. In case you want to keep a basic check of the clean target, the right place is a pbuilder script cleaning inside the chroot after the build, then reporting any difference between the source and the .dsc. The output is almost always either * trivial to work-around in Debian (echo '*.o' > debian/clean) (fixing upstream may be another story) * short enough to be easily ignored (./configure), * or a real issue.
Bug#916475: [Pkg-electronics-devel] Bug#916475: ghdl: various suggestions to simplify the packaging
Source: ghdl Followup-For: Bug #916475 Hello. > honestly the whole link script looks like a hack to me, I prefer the > way it was before. I agree that an executable debian/libghdl-dev.links is a last resort, but a reader discovering the package does not need to * guess that usr/lib/*/libghdl.so is a symbolic link from its name (this is only evident if you have already packaged a library) * search where (debian/tmp/)?usr/lib/*/libghdl.so comes from (not evident at all, even assuming familiarity with the dh sequence). The debian/libghdl-dev.links I am suggesting is complex, but handles a single task (ln -s) and does not require the reader to remember each detail of the far more complex debian/rules to understand what happens. Of course, the decision is yours eventually, and I may rebase the other commits if you choose to keep the sequence as it is. If so, I suggest to replace usr/lib/*/libghdl.so in debian/libghdl-dev.install with usr/lib/${DEB_HOST_MULTIARCH}/libghdl.so >From 734fee62a113b8c36c929f8ee739243d67d64a34 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 14 Dec 2022 13:48:00 +0100 Subject: [PATCH 01/14] Install the usr/bin/ghdl wrapper with dh_install directly --- debian/{ghdl.wrapper => bin/ghdl} | 0 debian/ghdl-common.install| 3 ++- debian/rules | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) rename debian/{ghdl.wrapper => bin/ghdl} (100%) mode change 100644 => 100755 diff --git a/debian/ghdl.wrapper b/debian/bin/ghdl old mode 100644 new mode 100755 similarity index 100% rename from debian/ghdl.wrapper rename to debian/bin/ghdl diff --git a/debian/ghdl-common.install b/debian/ghdl-common.install index 1d4197f0..5ff3ad65 100644 --- a/debian/ghdl-common.install +++ b/debian/ghdl-common.install @@ -1,4 +1,5 @@ -usr/bin/ghdl +debian/bin/ghdl usr/bin/ + usr/lib/ghdl/src usr/lib/ghdl/include/ghdl/vpi_user.h usr/lib/ghdl/include/ghdl/vhpi_user.h diff --git a/debian/rules b/debian/rules index dcece304..217fd601 100755 --- a/debian/rules +++ b/debian/rules @@ -91,7 +91,6 @@ override_dh_auto_install: $(foreach backend,$(BACKENDS),$(STAMPSDIR)/install-$(b @echo @echo Common install final steps @echo - install -pD debian/ghdl.wrapper $(CURDIR)/debian/tmp/usr/bin/ghdl cd debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) && ln -s libghdl-*.so libghdl.so $(RM) debian/tmp/usr/lib/ghdl/src/ieee2008/LICENSE -- 2.39.2 >From af3bf32c7959c411658b9a0adc94024d16bb1bed Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 2 Oct 2023 13:43:54 +0200 Subject: [PATCH 02/14] Install sources into usr/lib/ghdl with dh_install directly --- debian/ghdl-common.install | 8 +++- debian/not-installed | 3 +++ debian/rules | 7 --- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/debian/ghdl-common.install b/debian/ghdl-common.install index 5ff3ad65..36ec5acf 100644 --- a/debian/ghdl-common.install +++ b/debian/ghdl-common.install @@ -1,5 +1,11 @@ debian/bin/ghdl usr/bin/ -usr/lib/ghdl/src +# The wildcard matches backend(s). +usr/lib/ghdl/*/vhdl/src/ieee/ usr/lib/ghdl/src/ +usr/lib/ghdl/*/vhdl/src/ieee2008/*.vhdl usr/lib/ghdl/src/ieee2008/ +usr/lib/ghdl/*/vhdl/src/std/usr/lib/ghdl/src/ +usr/lib/ghdl/*/vhdl/src/synopsys/ usr/lib/ghdl/src/ +usr/lib/ghdl/*/vhdl/src/upf/usr/lib/ghdl/src/ + usr/lib/ghdl/include/ghdl/vpi_user.h usr/lib/ghdl/include/ghdl/vhpi_user.h diff --git a/debian/not-installed b/debian/not-installed index 97006213..1f68b482 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -3,10 +3,13 @@ # file from its original location directly to debian/PACKAGE/usr/bin. usr/bin/ghdl-gcc +# The wildcard matches backend(s). usr/lib/ghdl/*/vhdl/ansi_color.sh +usr/lib/ghdl/*/vhdl/src/ieee2008/LICENSE usr/lib/ghdl/*/vhdl/vendors usr/lib/ghdl/*/libghw.so usr/lib/ghdl/*/libghdl.link + usr/lib/ghdl/include/ghdl/libghw.h usr/lib/ghdl/gcc/libexec diff --git a/debian/rules b/debian/rules index 217fd601..346ea20f 100755 --- a/debian/rules +++ b/debian/rules @@ -92,7 +92,6 @@ override_dh_auto_install: $(foreach backend,$(BACKENDS),$(STAMPSDIR)/install-$(b @echo Common install final steps @echo cd debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) && ln -s libghdl-*.so libghdl.so - $(RM) debian/tmp/usr/lib/ghdl/src/ieee2008/LICENSE override_dh_dwz: # dwz currently has problems with some debug sections created by the @@ -151,8 +150,6 @@ $(STAMPSDIR)/install-mcode: $(STAMPSDIR)/build-mcode @echo Moving parts to required locations @echo mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) - $(RM) -r debian/tmp
Bug#916475: ghdl: various suggestions to simplify the packaging
Source: ghdl Followup-For: Bug #916475 Hello. A rebased and extended list of suggestions is attached. Debdiff reports no change in the binary packages. >From 734fee62a113b8c36c929f8ee739243d67d64a34 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 14 Dec 2022 13:48:00 +0100 Subject: [PATCH 01/14] Install the usr/bin/ghdl wrapper with dh_install directly --- debian/{ghdl.wrapper => bin/ghdl} | 0 debian/ghdl-common.install| 3 ++- debian/rules | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) rename debian/{ghdl.wrapper => bin/ghdl} (100%) mode change 100644 => 100755 diff --git a/debian/ghdl.wrapper b/debian/bin/ghdl old mode 100644 new mode 100755 similarity index 100% rename from debian/ghdl.wrapper rename to debian/bin/ghdl diff --git a/debian/ghdl-common.install b/debian/ghdl-common.install index 1d4197f0..5ff3ad65 100644 --- a/debian/ghdl-common.install +++ b/debian/ghdl-common.install @@ -1,4 +1,5 @@ -usr/bin/ghdl +debian/bin/ghdl usr/bin/ + usr/lib/ghdl/src usr/lib/ghdl/include/ghdl/vpi_user.h usr/lib/ghdl/include/ghdl/vhpi_user.h diff --git a/debian/rules b/debian/rules index dcece304..217fd601 100755 --- a/debian/rules +++ b/debian/rules @@ -91,7 +91,6 @@ override_dh_auto_install: $(foreach backend,$(BACKENDS),$(STAMPSDIR)/install-$(b @echo @echo Common install final steps @echo - install -pD debian/ghdl.wrapper $(CURDIR)/debian/tmp/usr/bin/ghdl cd debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) && ln -s libghdl-*.so libghdl.so $(RM) debian/tmp/usr/lib/ghdl/src/ieee2008/LICENSE -- 2.39.2 >From af3bf32c7959c411658b9a0adc94024d16bb1bed Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Mon, 2 Oct 2023 13:43:54 +0200 Subject: [PATCH 02/14] Install sources into usr/lib/ghdl with dh_install directly --- debian/ghdl-common.install | 8 +++- debian/not-installed | 3 +++ debian/rules | 7 --- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/debian/ghdl-common.install b/debian/ghdl-common.install index 5ff3ad65..36ec5acf 100644 --- a/debian/ghdl-common.install +++ b/debian/ghdl-common.install @@ -1,5 +1,11 @@ debian/bin/ghdl usr/bin/ -usr/lib/ghdl/src +# The wildcard matches backend(s). +usr/lib/ghdl/*/vhdl/src/ieee/ usr/lib/ghdl/src/ +usr/lib/ghdl/*/vhdl/src/ieee2008/*.vhdl usr/lib/ghdl/src/ieee2008/ +usr/lib/ghdl/*/vhdl/src/std/usr/lib/ghdl/src/ +usr/lib/ghdl/*/vhdl/src/synopsys/ usr/lib/ghdl/src/ +usr/lib/ghdl/*/vhdl/src/upf/usr/lib/ghdl/src/ + usr/lib/ghdl/include/ghdl/vpi_user.h usr/lib/ghdl/include/ghdl/vhpi_user.h diff --git a/debian/not-installed b/debian/not-installed index 97006213..1f68b482 100644 --- a/debian/not-installed +++ b/debian/not-installed @@ -3,10 +3,13 @@ # file from its original location directly to debian/PACKAGE/usr/bin. usr/bin/ghdl-gcc +# The wildcard matches backend(s). usr/lib/ghdl/*/vhdl/ansi_color.sh +usr/lib/ghdl/*/vhdl/src/ieee2008/LICENSE usr/lib/ghdl/*/vhdl/vendors usr/lib/ghdl/*/libghw.so usr/lib/ghdl/*/libghdl.link + usr/lib/ghdl/include/ghdl/libghw.h usr/lib/ghdl/gcc/libexec diff --git a/debian/rules b/debian/rules index 217fd601..346ea20f 100755 --- a/debian/rules +++ b/debian/rules @@ -92,7 +92,6 @@ override_dh_auto_install: $(foreach backend,$(BACKENDS),$(STAMPSDIR)/install-$(b @echo Common install final steps @echo cd debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) && ln -s libghdl-*.so libghdl.so - $(RM) debian/tmp/usr/lib/ghdl/src/ieee2008/LICENSE override_dh_dwz: # dwz currently has problems with some debug sections created by the @@ -151,8 +150,6 @@ $(STAMPSDIR)/install-mcode: $(STAMPSDIR)/build-mcode @echo Moving parts to required locations @echo mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) - $(RM) -r debian/tmp/usr/lib/ghdl/src - mv debian/tmp/usr/lib/ghdl/mcode/vhdl/src debian/tmp/usr/lib/ghdl ln -s ../../src debian/tmp/usr/lib/ghdl/mcode/vhdl/src mv debian/tmp/usr/lib/ghdl/mcode/libghdl-*.so debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ mv debian/tmp/usr/lib/ghdl/mcode/libghdl.a debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ @@ -207,8 +204,6 @@ $(STAMPSDIR)/install-llvm: $(STAMPSDIR)/build-llvm @echo Moving parts to required locations @echo mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) - $(RM) -r debian/tmp/usr/lib/ghdl/src - mv debian/tmp/usr/lib/ghdl/llvm/vhdl/src debian/tmp/usr/lib/ghdl ln -s ../../src debian/tmp/usr/lib/ghdl/llvm/vhdl/src mv debian/tmp/usr/lib/ghdl/llvm/libghdl-*.so debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ mv debian/tmp/usr/lib/ghdl/llvm/libghdl.a debian/t
Bug#1052427: dh-builtusing: remove constraint on number of packages to match a wildcard
Package: dh-builtusing Followup-For: Bug #1052427 Hello. The motivation for Built-Using: ${dh-builtusing:gcc-S-source} is that the maintainer wants everyone else to be able to replace Build-Depends: gcc-13-source with Build-Depends: gcc-14-source and rebuild the package. The purpose of dh-builtusing is to generate the version of each package, but I fear that computing (part of) the package list may easily lead to false positives. For example a source may start building several rust libraries with distinct new build dependencies. Also, the benefice is low because a change (not restricted to versions) in the list of Build-Depends is rare and probably already involves decisions by the maintainer anyway. Also, should Built-Using: ${dh-builtusing:librust-WILDCARD-dev} [amd64] be forbidden? The only logic expansion is Built-Using: librust-a-dev [amd64] , librust-b-dev [amd64] This can be implemented, but would be inconsistent and probably fragile. Same question for ${dh-builtusing:librust-WILDCARD-dev:amd64}.
Bug#1051098: suggestion: dh-builtusing may simplify the packaging
Source: u-boot Severity: wishlist Tags: patch Hello. You may be interested in the dh-builtusing debhelper tool, which generates the Built-Using field instead of explicit shell subcommands. --- a/debian/control +++ b/debian/control @@ -7,6 +7,7 @@ Build-Depends: bc, bison, debhelper-compat (= 13), + dh-sequence-builtusing, flex, libpython3-dev:native [linux-any], libssl-dev, @@ -167,7 +168,8 @@ Description: A boot loader for omap systems Package: u-boot-sunxi Architecture: armhf arm64 Multi-Arch: same -Built-Using: ${u-boot-sunxi:Built-Using} +Built-Using: ${dh-builtusing:arm-trusted-firmware} [arm64], + ${dh-builtusing:crust-firmware} [arm64], Depends: ${misc:Depends} Recommends: u-boot-tools [arm64] Suggests: arm-trusted-firmware [arm64] @@ -221,7 +223,7 @@ Description: A boot loader for marvell systems Package: u-boot-rockchip Architecture: armhf arm64 Multi-Arch: same -Built-Using: ${u-boot-rockchip:Built-Using} +Built-Using: ${dh-builtusing:arm-trusted-firmware} [arm64] Depends: ${misc:Depends} Recommends: python3, u-boot-tools [arm64] Suggests: arm-trusted-firmware [arm64] @@ -275,7 +277,7 @@ Package: u-boot-sifive Architecture: riscv64 Multi-Arch: same Depends: ${misc:Depends} -Built-Using: ${u-boot-sifive:Built-Using} +Built-Using: ${dh-builtusing:opensbi} Description: A boot loader for SiFive systems Das U-Boot is a cross-platform bootloader for embedded systems, used as the default boot loader by several board vendors. It is --- a/debian/rules +++ b/debian/rules @@ -155,6 +155,6 @@ override_dh_clean: find . -type d -name __pycache__ -delete override_dh_gencontrol: - dh_gencontrol -- $(dpkg-gencontrol_args) $(foreach package,\ + dh_gencontrol -- $(foreach package,\ u-boot-qemu $(subarchs),\ '-V$(package):platforms=$(subst $() ,$${Newline},$($(package)_platforms))') --- a/debian/targets.mk +++ b/debian/targets.mk @@ -45,9 +45,6 @@ ifeq (${DEB_HOST_ARCH},arm64) # u-boot-rockchip - dpkg-gencontrol_args += "-Vu-boot-rockchip:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' arm-trusted-firmware)" - # Vagrant Cascadian u-boot-rockchip_platforms += firefly-rk3399 firefly-rk3399_assigns := BL31=/usr/lib/arm-trusted-firmware/rk3399/bl31.elf @@ -139,9 +136,6 @@ ifeq (${DEB_HOST_ARCH},arm64) u-boot-sunxi_assigns = \ SCP=$(or $(wildcard /usr/lib/crust-firmware/$(platform).bin),/dev/null) - dpkg-gencontrol_args += "-Vu-boot-sunxi:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' arm-trusted-firmware)" - u-boot-sunxi_platforms += a64-olinuxino a64-olinuxino_assigns := BL31=/usr/lib/arm-trusted-firmware/sun50i_a64/bl31.bin a64-olinuxino_targets := arch/arm/dts/sun50i-a64-olinuxino.dtb \ @@ -376,9 +370,6 @@ else ifeq (${DEB_HOST_ARCH},armhf) # u-boot-rockchip - # Silent a debhelper warning about an unused substvar. - dpkg-gencontrol_args += -Vu-boot-rockchip:Built-Using= - # Vagrant Cascadian , 2GB and 4GB variants u-boot-rockchip_platforms += firefly-rk3288 firefly-rk3288_targets := idbloader.img spl/u-boot-spl.bin u-boot.bin \ @@ -413,9 +404,6 @@ else ifeq (${DEB_HOST_ARCH},armhf) # u-boot-sunxi - # Silent a debhelper warning about an unused substvar. - dpkg-gencontrol_args += -Vu-boot-sunxi:Built-Using= - # Christian Kastner u-boot-sunxi_platforms += A10-OLinuXino-Lime A10-OLinuXino-Lime_targets := u-boot-sunxi-with-spl.bin uboot.elf @@ -541,9 +529,6 @@ else ifeq (${DEB_HOST_ARCH},riscv64) # u-boot-sifive - dpkg-gencontrol_args += "-Vu-boot-sifive:Built-Using=$(shell dpkg-query -Wf \ -'$${source:Package} (= $${source:Version})' opensbi)" - # Hector Oron u-boot-sifive_platforms += sifive_unleashed sifive_unleashed_targets := u-boot.bin uboot.elf spl/u-boot-spl.bin u-boot.itb
Bug#1050379: ITP: qmidictl -- graphical application sending MIDI data over the network
Package: wnpp Severity: wishlist Owner: Nicolas Boulenguez X-Debbugs-Cc: debian-de...@lists.debian.org, benoit.delc...@gmail.com * Package name: qmidictl Version : 0.9.10 Upstream Contact: rncbc at rncbc dot org * URL : https://www.rncbc.org * License : GPL-2+, LGPL-2.1, FSFAP Programming Lang: C++, Qt Description : graphical application sending MIDI data over the network Originally inspired by multimidicast, the qmidictl application displays a window with controls imitating a MIDI control surface. It emits the MIDI instructions over the network using UDP/IP multicast. Programs like qmidinet on Linux or ipMIDI on Windows are then able to receive, translate and forward the MIDI flow. A friend intends to use it on its Pinephone. There is no similar package in Debian yet.
Bug#1049991: arm-trusted-firmware: suggestions to improve the maintability of debian/rules
Source: arm-trusted-firmware Severity: wishlist Tags: patch Hello. The attached patch arguably improves debian/rules. The ediff mode of emacs provides a more useful overview of the changes than plain diff or gitk. According to the test described at the end of the commit log, the new version executes the same shell commands than before. As usual… thanks for maintaining this package. I hope this will simplify your work. >From 92481e8b58dcf28727164c0764265e78d82656b0 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 17 Aug 2023 23:01:48 +0200 Subject: debian/rules: improve readability and logs Group all references to a given board. Use global variables for default values and target-specific variables for overrides. Run each command separately so that Make checks the exit status and the log is more useful in case of failure. Avoid Make obscure features like `define`, `eval`, `call` and constructed variable names. Display (indent with tab) a comment at the start of each subplatform, but hide comments intended for readers of debian/rules. Replace a Make `foreach` loop with the implicit iteration of the `install` command on its argument. Remove a reference to the unset `board` variable (introduced by commit 97c362ab). The diff between the output of `DEB_HOST_ARCH=arm64 debian/rules -n override_dh_auto_build | sed 's/ *; */\n/g' | sort` before and after this commit seems correct. diff --git a/debian/rules b/debian/rules index 710178171..f1e435f73 100755 --- a/debian/rules +++ b/debian/rules @@ -14,62 +14,67 @@ else VERBOSE=1 endif -platforms := g12a gxbb sun50i_a64 sun50i_h6 rcar rk3328 rk3399 rpi3 rpi4 imx8mn imx8mm +subplatforms := g12a gxbb sun50i_a64 rpi3 rpi4 + # Disable building of imx8mq, as it is not well supported upstream. -#platforms_nodebug := imx8mq +# subplatforms += imx8mq +imx8mq: buildtype := release +imx8mq: debug := 0 # By default, iMX8MN uses UART2 console. However, other boards supported # upstream (e.g. Variscite VAR-SOM-MX8M-NANO board) uses UART4. # Add two subplatforms for imx8mn platform: # * imx8mn: default configuration # * imx8mn_uart4: console set to UART4 -imx8mn_subplatforms := imx8mn imx8mn_uart4 -imx8mn_uart4_assigns := IMX_BOOT_UART_BASE=0x30a6 +subplatforms += imx8mn imx8mn_uart4 +imx8mn_uart4: platform := imx8mn +imx8mn_uart4: assigns := IMX_BOOT_UART_BASE=0x30a6 # By default, iMX8MM uses UART2 console. However, other boards # use other UARTs -imx8mm_subplatforms := imx8mm imx8mm_uart1 imx8mm_uart3 imx8mm_uart4 -imx8mm_uart1_assigns := IMX_BOOT_UART_BASE=0x3086 -imx8mm_uart3_assigns := IMX_BOOT_UART_BASE=0x3088 -imx8mm_uart4_assigns := IMX_BOOT_UART_BASE=0x30A6 +subplatforms += imx8mm imx8mm_uart1 imx8mm_uart3 imx8mm_uart4 +imx8mm_uart1 imx8mm_uart3 imx8mm_uart4: platform := imx8mm +imx8mm_uart1: assigns := IMX_BOOT_UART_BASE=0x3086 +imx8mm_uart3: assigns := IMX_BOOT_UART_BASE=0x3088 +imx8mm_uart4: assigns := IMX_BOOT_UART_BASE=0x30A6 # TF-A's regulator setup breaks Ethernet on some H6 boards, # so make it optional by having two subplatforms: # * sun50i_h6: default configuration # * sun50i_h6_no_pmic: skip regulator setup -sun50i_h6_subplatforms := sun50i_h6 sun50i_h6_no_pmic -sun50i_h6_no_pmic_assigns := SUNXI_SETUP_REGULATORS=0 - -rk3328_targets := bl31/bl31.elf -rk3399_targets := bl31/bl31.elf +subplatforms += sun50i_h6 sun50i_h6_no_pmic +sun50i_h6_no_pmic: platform := sun50i_h6 +sun50i_h6_no_pmic: assigns := SUNXI_SETUP_REGULATORS=0 -rcar_subplatforms := rcar_uclb_h3 rcar_uclb_m3w rcar_uclb_m3n -rcar_uclb_h3_assigns := LSI=H3 RCAR_DRAM_SPLIT=1 RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 SPD=opteed RCAR_LOSSY_ENABLE=1 -rcar_uclb_m3n_assigns := LSI=M3N RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 SPD=opteed RCAR_LOSSY_ENABLE=1 -rcar_uclb_m3w_assigns := LSI=M3 RCAR_DRAM_SPLIT=2 RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 SPD=opteed RCAR_LOSSY_ENABLE=1 +subplatforms += rk3328 rk3399 +rk3328 rk3399: targets := bl31/bl31.elf -rcar_targets := bl31.srec bl2.srec -rcar_make_target := rcar +subplatforms += rcar_uclb_h3 rcar_uclb_m3w rcar_uclb_m3n +rcar_uclb_h3: assigns := LSI=H3 RCAR_DRAM_SPLIT=1 RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 SPD=opteed RCAR_LOSSY_ENABLE=1 +rcar_uclb_m3n: assigns := LSI=M3N RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 SPD=opteed RCAR_LOSSY_ENABLE=1 +rcar_uclb_m3w: assigns := LSI=M3 RCAR_DRAM_SPLIT=2 RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 SPD=opteed RCAR_LOSSY_ENABLE=1 +rcar_uclb_h3 rcar_uclb_m3n rcar_uclb_m3w: platform := rcar +rcar_uclb_h3 rcar_uclb_m3n rcar_uclb_m3w: targets := bl31.srec bl2.srec +rcar_uclb_h3 rcar_uclb_m3n rcar_uclb_m3w: make_target := rcar -# Always set CROSS_COMPILE, which also works for native builds. -define build_platform - $(eval platform := $(1)) - $(eval debug := $(2)) - $(eva
Bug#1041883: python3-astroid: please package version 2.15.6
Package: python3-astroid Followup-For: Bug #1041883 Thanks for updating the package. In which form should I submit the remaining suggestions? As separate merge request? At least the extension of upstream copyright years is correct, or am I missing something?
Bug#1041883: python3-astroid: please package version 2.15.6
> > Latest pylint fixes a few issues and requires astroid/2.15.4. > yep. i know Of course *you* know because you maintain both packages. But a bug report is public, and someone else reading this report may appreciate a bit of context. > please do not submit patches to packages via email like this, either > open an MR Then, I will login to salsa, learn how to create a fork and open a merge request. > or just nothing at all, i can update a package I am quite confident in you capacity to "update a package". Actually, I expect you to review the suggestions, and adapt or refuse them because you know the package better. Please take this as if it were sent by lintian-brush :-) My hope was to spare you some time, and show interest in the packages you are maintaining.
Bug#1041882: dh_installchangelogs: probable typo in search for upstream changelog
Package: debhelper Version: 13.11.4 Severity: minor Tags: patch Hello. I suspect a missing dollar character in dh_installchangelog. Sorry for the noise if this is some deliberate Perl black magic. --- a/dh_installchangelogs +++ b/dh_installchangelogs @@ -148,7 +148,7 @@ foreach my $suffix ('', qw(.txt .md .rst)) { foreach my $name (qw{changelog changes history}) { my @matches=grep { - lc basename($_) eq "$name$suffix" && -f $_ && -s _ && ! excludefile($_) + lc basename($_) eq "$name$suffix" && -f $_ && -s $_ && ! excludefile($_) } @files; if (@matches) { return shift(@matches);
Bug#1035194: nanovna-saver: please add autopkgtests (to add coverage for python3-numpy)
Source: nanovna-saver Followup-For: Bug #1035194 Hello. Nanovna-saver requires a specific hardware to do anything useful. Also, testing a graphical tool is far from trivial. Post-build tests check some purely algorithmic parts, but do not make much sense as integration tests. Unless someone comes with a specific suggestion, this bug should probably be closed.
Bug#689062: dpkg-dev: Need to add support for Built-Using to dpkg-shlibdeps or new similar tool
Package: dpkg-dev Followup-For: Bug #689062 Hello. I took the absence of answer to my messages here and the ITP as an agreement that an external tool, if somewhat redundant, is preferable to a change in the dpkg-gencontrol public interface, where any change has wide repercussions. So here is the prototype: https://manpages.debian.org/unstable/dh-builtusing/dh_builtusing.1.en.html Do the submitter and maintainers agree to close this bug?
Bug#1036069: gnat: 'gprconfig --show-targets' fails with constraint_error
Package: gnat Followup-For: Bug #1036069 Control: reassign -1 gprbuild 2023.0.0-3
Bug#689062: ITP: dh-builtusing -- debhelper tool generating the Built-Using field for Debian packages
Hello. I have written a tool inspired by this bug report. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035888 A full description is available at https://salsa.debian.org/debian/dh-builtusing/-/blob/master/dh_builtusing.pod This is a proof of concept, any suggestion or critic is welcome (especially before anyone starts depending on it :-). A separate debhelper tool avoids extending the dpkg interface. It should be easier to maintain and document. The price is some redundancy. The tool parses debian/control twice, via Dh_Lib and Dpkg perl modules.
Bug#1036003: unblock: adacgi/1.6-32 and 20 Ada libraries
angelog 2023-05-10 21:26:50.0 +0200 @@ -1,3 +1,9 @@ +adacgi (1.6-32) unstable; urgency=medium + + * Break/Replace libadacgi*-dev since oldstable. Closes: #1034975. + + -- Nicolas Boulenguez Wed, 10 May 2023 21:26:50 +0200 + adacgi (1.6-31) unstable; urgency=medium * Reupload to unstable for the gnat-12 transition. diff -Nru adacgi-1.6/debian/control adacgi-1.6/debian/control --- adacgi-1.6/debian/control 2022-12-26 23:54:23.0 +0100 +++ adacgi-1.6/debian/control 2023-05-10 21:26:50.0 +0200 @@ -17,6 +17,8 @@ Homepage: http://www.dwheeler.com/adacgi Package: libadacgi6-dev +Breaks: libadacgi2-dev, libadacgi3-dev, libadacgi4-dev, libadacgi5-dev +Replaces: libadacgi2-dev, libadacgi3-dev, libadacgi4-dev, libadacgi5-dev Architecture: any Depends: ${misc:Depends}, ${ada:Depends} Description: Ada CGI interface: development diff -Nru adacgi-1.6/debian/copyright adacgi-1.6/debian/copyright --- adacgi-1.6/debian/copyright 2022-04-24 00:03:41.0 +0200 +++ adacgi-1.6/debian/copyright 2023-05-10 21:26:50.0 +0200 @@ -8,7 +8,7 @@ Files: debian/* Copyright: 1999-2001 Samuel Tardieu - 2016-2022 Nicolas Boulenguez + 2016-2023 Nicolas Boulenguez 2002-2019 Phil Brooke License: GPL-2+ diff -Nru adasockets-1.12/debian/changelog adasockets-1.12/debian/changelog --- adasockets-1.12/debian/changelog 2022-12-27 00:14:28.0 +0100 +++ adasockets-1.12/debian/changelog 2023-05-10 22:09:30.0 +0200 @@ -1,3 +1,9 @@ +adasockets (1.12-8) unstable; urgency=medium + + * Break/Replace libadasockets*-dev since oldstable. Closes: #1034896. + + -- Nicolas Boulenguez Wed, 10 May 2023 22:09:30 +0200 + adasockets (1.12-7) unstable; urgency=medium * Reupload to unstable for the gnat-12 transition. diff -Nru adasockets-1.12/debian/control adasockets-1.12/debian/control --- adasockets-1.12/debian/control 2022-12-27 00:14:28.0 +0100 +++ adasockets-1.12/debian/control 2023-05-10 22:08:44.0 +0200 @@ -18,6 +18,8 @@ Vcs-Git: https://salsa.debian.org/debian/adasockets.git Package: libadasockets12-dev +Breaks: libadasockets8-dev, libadasockets9-dev, libadasockets10-dev, libadasockets11-dev +Replaces: libadasockets8-dev, libadasockets9-dev, libadasockets10-dev, libadasockets11-dev Architecture: any Depends: ${ada:Depends}, diff -Nru adasockets-1.12/debian/copyright adasockets-1.12/debian/copyright --- adasockets-1.12/debian/copyright 2022-12-27 00:14:28.0 +0100 +++ adasockets-1.12/debian/copyright 2023-05-10 22:08:47.0 +0200 @@ -21,7 +21,7 @@ Files: debian/* Copyright: 1998-2002 Samuel Tardieu 2020-2020 Phil Brooke - 2016-2022 Nicolas Boulenguez + 2016-2023 Nicolas Boulenguez License: GPL-2+-with-generic-exception Files: support/texinfo.tex diff -Nru ahven-2.8/debian/changelog ahven-2.8/debian/changelog --- ahven-2.8/debian/changelog 2022-12-27 00:42:54.0 +0100 +++ ahven-2.8/debian/changelog 2023-05-11 10:43:00.0 +0200 @@ -1,3 +1,9 @@ +ahven (2.8-7) unstable; urgency=medium + + * Break/Replace libahven*-dev since oldstable. Closes: #1035011. + + -- Nicolas Boulenguez Thu, 11 May 2023 10:43:00 +0200 + ahven (2.8-6) unstable; urgency=medium * Reupload to unstable for the gnat-12 transition. diff -Nru ahven-2.8/debian/control ahven-2.8/debian/control --- ahven-2.8/debian/control 2022-12-27 00:42:54.0 +0100 +++ ahven-2.8/debian/control 2023-05-11 10:43:00.0 +0200 @@ -24,6 +24,8 @@ Vcs-Git: https://git.codelabs.ch/git/debian/ahven.git Package: libahven11-dev +Breaks: libahven7-dev, libahven8-dev, libahven9-dev, libahven10-dev +Replaces: libahven7-dev, libahven8-dev, libahven9-dev, libahven10-dev Section: libdevel Architecture: any Depends: ${misc:Depends}, ${ada:Depends} diff -Nru ahven-2.8/debian/copyright ahven-2.8/debian/copyright --- ahven-2.8/debian/copyright 2022-12-27 00:42:54.0 +0100 +++ ahven-2.8/debian/copyright 2023-05-11 10:43:00.0 +0200 @@ -29,7 +29,7 @@ Files: debian/* Copyright: 2008-2018 Reto Buerki - 2017-2022 Nicolas Boulenguez + 2017-2023 Nicolas Boulenguez License: GPL-3+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software diff -Nru anet-0.4.3/debian/changelog anet-0.4.3/debian/changelog --- anet-0.4.3/debian/changelog 2022-12-27 02:23:40.0 +0100 +++ anet-0.4.3/debian/changelog 2023-05-11 11:26:53.0 +0200 @@ -1,3 +1,9 @@ +anet (0.4.3-3) unstable; urgency=medium + + * Break/Replace libanet*-dev since oldstable. Closes: #1035013 . + + -- Nicolas Boulenguez Thu, 11 May 2023 11:26:53 +0200 + anet (0.4.3-2) unstable; urgency=medium * Reupload to unstable for the gnat-12 transition. diff -Nru anet-0.4.3/debian/control anet-0.4.3/debian/control --- anet-0.4.3/debian/control 2022-12-27 02:23:40.0 +0100 +++ anet-0.4.3/debian/con
Bug#1035888: ITP: dh-builtusing -- debhelper tool generating the Built-Using field for Debian packages
Package: wnpp Severity: wishlist Owner: Nicolas Boulenguez X-Debbugs-Cc: debian-de...@lists.debian.org, 689...@bugs.debian.org, 990...@bugs.debian.org * Package name: dh-builtusing Upstream: native Debian package, I am the author Version : 0.0.1 * URL : https://salsa.debian.org/debian/dh-builtusing * License : GPL-3+ Programming Lang: Perl Description : debhelper tool generating the Built-Using field for Debian packages This tool may help maintainers of Debian packages by generating parts of the Built-Using dependencies at build time. . It searches the Built-Using and Static-Built-Using fields in a source control file for substitutions of variables names like dh-builtusing:x, looks for x in build-dependencies, then defines the variable with the source package and version for x. . In other words, it replaces the call to dpgk-query that each package or debhelper tool has to duplicate for the Built-Using field. The dh_builtusing.pod manual page contains a full description. The log for #689062 contains the original discussion.
Bug#1032687: pylint: conffiles not removed: /etc/emacs/site-start.d/50pylint.el
Package: pylint Followup-For: Bug #1032687 Control: tag -1 + patch Hello. The attached commits provide a patch for this issue, and a few unrelated suggestions for the packaging that do not seem to deserve separate bugs reports. Thanks for maintaining pylint in Debian. >From 8d8394bd063552fb8a1b0751ad53c10f18d00754 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 21 Apr 2023 16:20:45 +0200 Subject: [PATCH 1/5] Install docs via debhelper configuration files instead of debian/rules Separate pylint-doc.{docs,examples} files may help transitions like acafec41. --- debian/changelog | 11 +++ debian/pylint-doc.docs | 2 ++ debian/pylint-doc.examples | 1 + debian/rules | 7 --- 4 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 debian/pylint-doc.docs create mode 100644 debian/pylint-doc.examples diff --git a/debian/changelog b/debian/changelog index e5be6fb..cfa783a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +pylint (2.16.2-3) UNRELEASED; urgency=medium + + [ Nicolas Boulenguez ] + * debian/rules +- Move docs to pylint-doc.{docs,examples}. + Stop duplicating README.rst into each package. This seems consistent + now that pylint-doc installs to /usr/share/doc/pylint/. + Separate files may help transitions like acafec41. + + -- Sandro Tosi Fri, 21 Apr 2023 01:04:13 +0200 + pylint (2.16.2-2) unstable; urgency=medium * debian/rules diff --git a/debian/pylint-doc.docs b/debian/pylint-doc.docs new file mode 100644 index 000..ae1887d --- /dev/null +++ b/debian/pylint-doc.docs @@ -0,0 +1,2 @@ +doc/_build/html +README.rst diff --git a/debian/pylint-doc.examples b/debian/pylint-doc.examples new file mode 100644 index 000..e39721e --- /dev/null +++ b/debian/pylint-doc.examples @@ -0,0 +1 @@ +examples/* diff --git a/debian/rules b/debian/rules index 1158a03..a7ef26d 100755 --- a/debian/rules +++ b/debian/rules @@ -27,12 +27,5 @@ override_dh_auto_build: override_dh_compress: dh_compress -i -X.py -X.ini -X.xml -Xtest -override_dh_installexamples: - dh_installexamples -ppylint-doc examples/* - -override_dh_installdocs: - dh_installdocs -A README.rst - dh_installdocs -ppylint-doc doc/_build/html - override_dh_missing: dh_missing --fail-missing -- 2.39.2 >From 4a43edfccbf49d240030672298010bfccf280068 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 21 Apr 2023 16:23:59 +0200 Subject: [PATCH 2/5] Remove dh_missing override With debhelper 13, it repeats the default. --- debian/changelog | 1 + debian/rules | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index cfa783a..99988e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ pylint (2.16.2-3) UNRELEASED; urgency=medium Stop duplicating README.rst into each package. This seems consistent now that pylint-doc installs to /usr/share/doc/pylint/. Separate files may help transitions like acafec41. +- Remove dh_missing override. With debhelper 13, it repeats the default. -- Sandro Tosi Fri, 21 Apr 2023 01:04:13 +0200 diff --git a/debian/rules b/debian/rules index a7ef26d..8a4948c 100755 --- a/debian/rules +++ b/debian/rules @@ -26,6 +26,3 @@ override_dh_auto_build: override_dh_compress: dh_compress -i -X.py -X.ini -X.xml -Xtest - -override_dh_missing: - dh_missing --fail-missing -- 2.39.2 >From 3183fcd08f7a7d85bc1af0b9327724c911770ca4 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 21 Apr 2023 17:03:14 +0200 Subject: [PATCH 3/5] Remove emacs script on upgrade. Closes: #1032687 --- debian/changelog| 2 ++ debian/pylint.conffiles | 1 + 2 files changed, 3 insertions(+) create mode 100644 debian/pylint.conffiles diff --git a/debian/changelog b/debian/changelog index 99988e2..fad9b7a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ pylint (2.16.2-3) UNRELEASED; urgency=medium now that pylint-doc installs to /usr/share/doc/pylint/. Separate files may help transitions like acafec41. - Remove dh_missing override. With debhelper 13, it repeats the default. + * debian/pylint.conffiles +- let dpkg remove-on-upgrade the emacs script. Closes: #1032687. -- Sandro Tosi Fri, 21 Apr 2023 01:04:13 +0200 diff --git a/debian/pylint.conffiles b/debian/pylint.conffiles new file mode 100644 index 000..df6221f --- /dev/null +++ b/debian/pylint.conffiles @@ -0,0 +1 @@ +remove-on-upgrade /etc/emacs/site-start.d/50pylint.el -- 2.39.2 >From 680cf732dddee421548a9cf2740543521f197c6a Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 21 Apr 2023 17:23:58 +0200 Subject: [PATCH 4/5] Look for DEB_BUILD_OPTIONS=nodoc in debian/rules --- debian/changelog | 1 + debian/rules | 2 ++ 2 files changed, 3 insertions(+) diff --git a/debian/changelog b/debian/changelog index fad9b7a..990a77d 100644 --- a/debian/changelog
Bug#1033205: ITP: nanovna-saver -- data importer for NanoVNA radio networks tester devices
Package: wnpp Severity: wishlist Owner: Nicolas Boulenguez X-Debbugs-Cc: debian-de...@lists.debian.org * Package name: nanovna-saver Version : 0.6.0 Upstream Contact: Holger Mueller * URL : https://github.com/NanoVNA-Saver/nanovna-saver * License : GPL-3+ Programming Lang: Python Description : data importer for NanoVNA radio networks tester devices The NanoVNA device is a vector network analyzer and antenna analyzer, useful to test or instrument various kinds of radio networks. . NanoVNA-saver imports Touchstone files from the NanoVNA, sweeps frequency spans in segments to gain more than 101 data points, and generally displays and analyzes the resulting data. It is an GUI tool without reverse dependencies. All requirements are already packaged in main. A friend owns the device and uses the software. There seem to be no equivalent in Debian yet. I intend to maintain the package. I need no sponsor.
Bug#1031571: oath-toolkit: please depend on faketime instead of datefudge
Source: oath-toolkit Version: 2.6.7-3 Severity: wishlist Tags: patch upstream Hello. Datefudge is broken on 32-bit architectures (release-critical bug #1028587). The author recommends to use alternative tools in message 24 of the bug log. Only two consumers are remaining, gnutls28 and oath-toolkit. The attached diff replaces datefudge with faketime in gnutls28. The change only affects tests. The severity is 'wishlist' for oath-toolkit, but the attached patch (and a similar one for gnutls28) would allow to remove the datefudge package and 1 RC bug from bookworm. >From 621fef1bb538d0f4dab5f23f2ba25d0ef093c850 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 18 Feb 2023 18:08:58 +0100 Subject: [PATCH] Replace datefudge with faketime --- debian/control| 2 +- .../replace-datefudge-with-faketime.diff | 47 +++ debian/patches/series | 1 + 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 debian/patches/replace-datefudge-with-faketime.diff diff --git a/debian/control b/debian/control index 2c64292..5f7d31f 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: devel Priority: optional Maintainer: OATH Toolkit Team Uploaders: Simon Josefsson -Build-Depends: datefudge , +Build-Depends: faketime , debhelper-compat (= 13), pkg-config, gengetopt, diff --git a/debian/patches/replace-datefudge-with-faketime.diff b/debian/patches/replace-datefudge-with-faketime.diff new file mode 100644 index 000..39780c1 --- /dev/null +++ b/debian/patches/replace-datefudge-with-faketime.diff @@ -0,0 +1,47 @@ +Description: replace datefudge with faketime + Datefudge is broken on 32-bit architectures. The author recommends + to use alternative tools in message 24 of #1028587. + . + There only remains two users of datefudge, which has an RC bug. +Author: Nicolas Boulenguez + +--- a/liboath/tests/tst_usersfile.sh b/liboath/tests/tst_usersfile.sh +@@ -22,15 +22,15 @@ + TZ=UTC + export TZ + +-TSTAMP=`datefudge "2006-09-23" date -u +%s` ++TSTAMP=`faketime "2006-09-23" date -u +%s` + if test "$TSTAMP" != "1158969600"; then +-echo "Could not fake timestamps with datefudge." ++echo "Could not fake timestamps with faketime." + exit 77 + fi + + cp $srcdir/users.oath tmp.oath + +-datefudge 2006-12-07 ./tst_usersfile$EXEEXT ++faketime 2006-12-07 ./tst_usersfile$EXEEXT + rc=$? + sed 's/2006-12-07T00:00:0.L/2006-12-07T00:00:00L/g' < tmp.oath > tmp2.oath + diff -ur $srcdir/expect.oath tmp2.oath || rc=1 +--- a/pam_oath/tests/run-root-tests.sh b/pam_oath/tests/run-root-tests.sh +@@ -52,13 +52,13 @@ + exit 77 + fi + +-TSTAMP=`datefudge "2006-09-23" date -u +%s` ++TSTAMP=`faketime "2006-09-23" date -u +%s` + if test "$TSTAMP" != "1158962400"; then +-echo "Cannot fake timestamp, install datefudge to check better. ($TSTAMP)" ++echo "Cannot fake timestamp, install faketime to check better. ($TSTAMP)" + ./test-pam_oath-root user3 + rc=$? + else +-datefudge 2006-12-07 ./test-pam_oath-root user3 ++faketime 2006-12-07 ./test-pam_oath-root user3 + rc=$? + fi + diff --git a/debian/patches/series b/debian/patches/series index ecac8e7..1a1bb7d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ handle-xmlsec-1.2.35.diff +replace-datefudge-with-faketime.diff -- 2.39.1
Bug#1031553: gnutls28: please depend on faketime instead of datefudge
Source: gnutls28 Version: 3.7.9-1 Severity: wishlist Tags: patch upstream Hello. Datefudge is broken on 32-bit architectures (release-critical bug #1028587). The author recommends to use alternative tools in message 24 of the bug log. Only two consumers are remaining, gnutls28 and oath-toolkit. The attached diff replaces datefudge with faketime in gnutls28. The change only affects tests. A test fails after a local build, but the timestamps seem correct. The severity is 'wishlist' for gnutls28, but the attached patch (and a similar one for oath-toolkit) would allow to remove the datefudge package and 1 RC bug from bookworm. >From c19e8f2261f9b29a37503d13728ae100c8a50168 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 18 Feb 2023 15:28:29 +0100 Subject: [PATCH] Replace datefudge with faketime --- debian/control|2 +- .../replace-datefudge-with-faketime.diff | 1642 + debian/patches/series |1 + debian/tests/control |2 +- 4 files changed, 1645 insertions(+), 2 deletions(-) create mode 100644 debian/patches/replace-datefudge-with-faketime.diff diff --git a/debian/control b/debian/control index 5985ac3..37e60ef 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Build-Depends: bison, ca-certificates , chrpath, - datefudge , + faketime , debhelper-compat (= 13), freebsd-net-tools [kfreebsd-i386 kfreebsd-amd64] , gperf, diff --git a/debian/patches/replace-datefudge-with-faketime.diff b/debian/patches/replace-datefudge-with-faketime.diff new file mode 100644 index 000..7c0a54e --- /dev/null +++ b/debian/patches/replace-datefudge-with-faketime.diff @@ -0,0 +1,1642 @@ +Description: replace datefudge with faketime + Datefudge is broken on 32-bit architectures. The author recommends + to use alternative tools in message 24 of #1028587. + . + There only remains two users of datefudge, which has an RC bug. + . + The equivalent of datefudge -s/--static 'FREE FORM DATE' + isfaketime -f '-MM-DD HH:MM:SS'. + . + SKIP_DATEFUDGE_CHECK looks like a work-around for datefudge on 32-bit + architectures, not required by faketime. + . + Ideally, 'tests/datefudge-check.c' should be renamed, but plain diff + format does not (fully) deal with file renamings. + The shell subprograms + tests/scripts/common.sh:check_for_datefudge + tests/scripts/common.sh:skip_if_no_datefudge + could also be renamed, but this would produce a lot of meaningless + noise in this diff. + It should be easy to + # mv tests/datefudge-check.c tests/faketime-check.c + # grep -lr datefudge tests | xargs sed -i 's/datefudge/faketime/g' + after the main suggestion has been tested and accepted. +Author: Nicolas Boulenguez + +--- a/CONTRIBUTING.md b/CONTRIBUTING.md +@@ -44,7 +44,7 @@ + + Certificates for testing purposes are available at [cert-common.h](tests/cert-common.h). + Note that we do not regenerate test certificates when they expire, but +-we rather fix the test's time using datefudge or gnutls_global_set_time_function(). ++we rather fix the test's time using faketime or gnutls_global_set_time_function(). + For example, see [x509cert-tl.c](tests/x509cert-tl.c). + + +--- a/README.md b/README.md +@@ -85,7 +85,7 @@ + + * [Valgrind](https://valgrind.org/) (optional) + * [Libasan](https://gcc.gnu.org//) (optional) +-* [datefudge](https://packages.debian.org/datefudge) (optional) ++* [faketime](https://github.com/wolfcw/libfaketime) (optional) + * [nodejs](https://nodejs.org/) (needed for certain test cases) + * [softhsm](https://www.opendnssec.org/softhsm/) (for testing smart card support) + * [dieharder](https://www.phy.duke.edu/~rgb/General/dieharder.php) (for testing PRNG) +@@ -95,7 +95,7 @@ + + Debian/Ubuntu: + ``` +-apt-get install -y valgrind nodejs softhsm2 datefudge lcov libssl-dev libcmocka-dev expect libev-dev ++apt-get install -y valgrind nodejs softhsm2 faketime lcov libssl-dev libcmocka-dev expect libev-dev + apt-get install -y dieharder openssl abigail-tools socat net-tools ppp util-linux + ``` + +@@ -107,7 +107,7 @@ + + Fedora/RHEL: + ``` +-yum install -y valgrind libasan libasan-static libubsan nodejs softhsm datefudge lcov openssl-devel expect libev-devel ++yum install -y valgrind libasan libasan-static libubsan nodejs softhsm faketime lcov openssl-devel expect libev-devel + yum install -y dieharder mbedtls-utils openssl libabigail libcmocka-devel socat util-linux + ``` + +--- a/tests/cert-reencoding.sh b/tests/cert-reencoding.sh +@@ -239,18 +239,18 @@ + + echo "=== Bringing TLS server up ===" + +-TESTDATE="2018-03-01" ++TESTDATE="2018-03-01 00:00:00" + + # Start OpenSSL TLS server + # + launch_bare_server \ +- datefudge "${TESTDATE}" \ ++ faketime "${TESTDATE}" \ + "${OPENSSL}" s_server -cert ${SERVER_
Bug#1026392: transition: gnat-12 status update
Package: release.debian.org Followup-For: Bug #1026392 libgmpada I have disabled the post-build tests on i386. Not proud of this work-around, but #1026828 does not deserve an RC severity. whitakers-words is fixed by an NMU and should migrate to testing within days.
Bug#1027469: FTBFS fixed by 0.2020.10.27-1.3
Version: 0.2020.10.27-1.3 Hello. I have uploaded an NMU without delay, because * this blocks the gnat-12 transition * he has already reviewed these changes in the VCS while we were preparing the next upload.
Bug#1026828: downgrade the severity
Control: severity 1026828 normal Control: tags 1026828 - ftbfs Control: retitle 1026828 random print error for floats on i386 Version 1.5-3 transforms the error into a warning (with more debugging info). The original bug does not deserve a 'serious' severity.
Bug#1026392: transition: gnat-12
Package: release.debian.org Followup-For: Bug #1026392 X-Debbugs-Cc: Calum McConnell , Andreas Bombe Hello. Here are the remaining blockers as far as I understand https://release.debian.org/transitions/html/gnat-12.html. libxmlada (orange line): I fail to understand the problem. libgmpada (red on i386): I have uploaded a patch transforming the error into a warning. The original bug remains but does not break the build anymore. I have downgraded the severity of #1026828 accordingly. Case closed. whitakers-words (red line) is removed from testing and should not block the transition. The version in unstable depends on gnat-10 (none in experimental). What do you recommend? - avoid risking an interference with other packages - source-only bin-NMU by you (nmu line in the initial mail) - normal upload to unstable - ? ghdl (red line): is removed from testing and should not block the transition. The version in unstable depends on gnat-10 (lots of RC bugs). The version in experimental depends on gcc-12 (a few RC bugs). What do you recommend? - avoid risking an interferenc with other packages - reupload from experimental to unstable - ?
Bug#990533: f2fs-tools: suggestions for the packaging
Source: f2fs-tools Followup-For: Bug #990533 Hello. Some suggestions have been applied from other sources. The attached commits are rebased on 6b860197. >From 529b36f439ab5445897c2399b260c0885fb79b74 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 1 Jul 2021 11:09:38 +0200 Subject: [PATCH 1/6] debian: remove get-orig-source target from debian/rules Uscan is preferred when possible. --- debian/rules | 7 --- 1 file changed, 7 deletions(-) diff --git a/debian/rules b/debian/rules index c106ea6..8e3aee4 100755 --- a/debian/rules +++ b/debian/rules @@ -19,13 +19,6 @@ execute_before_dh_install: find -name "*.la" -delete rm debian/tmp/sbin/sg_write_buffer -get-orig-source: - wget http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/f2fs-tools-$(DEB_VERSION_UPSTREAM).tar.gz - gunzip < f2fs-tools-$(DEB_VERSION_UPSTREAM).tar.gz | \ - xz > f2fs-tools-$(DEB_VERSION_UPSTREAM).tar.xz - rm f2fs-tools-$(DEB_VERSION_UPSTREAM).tar.gz - mv f2fs-tools-$(DEB_VERSION_UPSTREAM).tar.xz f2fs-tools_$(DEB_VERSION_UPSTREAM).orig.tar.xz - # dh_dwz when run on f2fs-tools-udeb ends up installing the # /usr/lib/debug/.dwz files into the udeb. I think that's a bug, # but for now, override it by just saying... just don't. -- 2.30.2 >From e0958c92b6d4964f6e438d4062b552ec03816a3f Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 1 Jul 2021 11:12:22 +0200 Subject: [PATCH 2/6] debian: remove redundant libdir option from dh_auto_configure override --- debian/rules | 1 - 1 file changed, 1 deletion(-) diff --git a/debian/rules b/debian/rules index 8e3aee4..f514ced 100755 --- a/debian/rules +++ b/debian/rules @@ -12,7 +12,6 @@ include /usr/share/dpkg/default.mk override_dh_auto_configure: dh_auto_configure -- --sbindir=/sbin --disable-shared \ - --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ --with-root-libdir=/lib/$(DEB_HOST_MULTIARCH) execute_before_dh_install: -- 2.30.2 >From fc6730a6e26d284088808906322ca04af4c2a47d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 1 Jul 2021 11:14:00 +0200 Subject: [PATCH 3/6] debian: stop exporting build flags from debian/rules Dh_auto_* tools already export the build flags, whether debian/rules knowns about them or not. In this case, debian/rules does not need to interfer. The test_printenv target seems to have been introduced in order to check the removed export. --- debian/rules | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/debian/rules b/debian/rules index f514ced..8216eb8 100755 --- a/debian/rules +++ b/debian/rules @@ -4,8 +4,7 @@ export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all -DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/default.mk +include /usr/share/dpkg/architecture.mk %: dh $@ @@ -23,6 +22,3 @@ execute_before_dh_install: # but for now, override it by just saying... just don't. override_dh_dwz: dh_dwz -N f2fs-tools-udeb - -test_printenv: - printenv | sort -- 2.30.2 >From ae0819ea18e4b7c15e0c7c267d0c9d1ada1b6ef8 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 5 Nov 2021 14:19:03 +0100 Subject: [PATCH 4/6] debian: prevent installation of sg_write_buffer from debian/not-installed This declarative style is more readable than removal commands. --- debian/f2fs-tools-udeb.install | 3 ++- debian/f2fs-tools.install | 4 +++- debian/not-installed | 5 + debian/rules | 4 4 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 debian/not-installed diff --git a/debian/f2fs-tools-udeb.install b/debian/f2fs-tools-udeb.install index d48cf30..5779210 100644 --- a/debian/f2fs-tools-udeb.install +++ b/debian/f2fs-tools-udeb.install @@ -1 +1,2 @@ -/sbin +# All but sbin/sg_write_buffer +sbin/*f2fs* diff --git a/debian/f2fs-tools.install b/debian/f2fs-tools.install index c5dbdb2..1b7999a 100644 --- a/debian/f2fs-tools.install +++ b/debian/f2fs-tools.install @@ -1,2 +1,4 @@ -sbin/* +# All but sbin/sg_write_buffer +sbin/*f2fs* + usr/share/man/man8/*.8 diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 000..5cb77ca --- /dev/null +++ b/debian/not-installed @@ -0,0 +1,5 @@ +# Policy recommends not to install libtool .la files +usr/lib/*/libf2fs*.la + +# See f2fs-tools.install and f2fs-tools-udeb.install +sbin/sg_write_buffer diff --git a/debian/rules b/debian/rules index 8216eb8..c13326d 100755 --- a/debian/rules +++ b/debian/rules @@ -13,10 +13,6 @@ override_dh_auto_configure: dh_auto_configure -- --sbindir=/sbin --disable-shared \ --with-root-libdir=/lib/$(DEB_HOST_MULTIARCH) -execute_before_dh_install: - find -name "*.la" -delete - rm debian/tmp/sbin/sg_write_buffer - # dh_dwz when run on f2fs-tools-udeb ends up installing the # /usr/lib/debug/.dwz files into the udeb. I think that's a bug, # but for now, override it by just saying... just don't. -- 2.30.2 >From e6f6349164464
Bug#960898: libtool: suggestions for the Debian packaging
Hello. It seems that you have applied some suggestions in 2.4.7-5. Thanks. By the way, this version is not visible in the version control system on salsa. A new list of commits is attached. I have rebased the remaining changes on 2.4.7-5, removed some intrusive ones, add new ones, and split some large commits in order to make the review easyer. >From 2dcce4c7f3d507202f902d9b188ddbd718975781 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 15 May 2020 20:45:30 +0200 Subject: [PATCH 01/33] Simplify watch file --- debian/watch | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/debian/watch b/debian/watch index a7c8ff5..ca1768f 100644 --- a/debian/watch +++ b/debian/watch @@ -1,2 +1,5 @@ version=4 -https://ftp.gnu.org/gnu/libtool/libtool-(.*)\.tar\.gz debian uupdate pgpsigurlmangle=s/$/.sig/ + +opts=\ + pgpsigurlmangle=s/$/.sig/ \ +https://ftp.gnu.org/gnu/@PACKAGE@/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ -- 2.30.2 >From 04bdcb065cfb3785408a56dd7707f3a382420eed Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Fri, 15 May 2020 20:33:33 +0200 Subject: [PATCH 02/33] Update copyright years --- debian/copyright | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/copyright b/debian/copyright index 4b38672..9da191f 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4,15 +4,15 @@ Upstream-Contact: https://www.gnu.org/software/libtool Source: https://ftp.gnu.org/pub/gnu/libtool Files: * -Copyright:1996-2015 Free Software Foundation, Inc. +Copyright:1996-2022 Free Software Foundation, Inc. License: GPL-2+ Files: doc/* -Copyright: 1996-2015 Free Software Foundation, Inc. +Copyright: 1996-2022 Free Software Foundation, Inc. License: GFDL-NIV-1.3+ Files: debian/* -Copyright: 2018- Alastair McKinstry +Copyright: 2018-2022 Alastair McKinstry 2007 Piotr Roszatycki 2005-2016 Kurt Roeckx 2003-2005 Scott James Remnant -- 2.30.2 >From e01c5382aadd19e341d923064877b9a77f9c4f9b Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 16 May 2020 00:48:00 +0200 Subject: [PATCH 03/33] Update phrasing in DFSG-NIV license long description --- debian/copyright | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/debian/copyright b/debian/copyright index 9da191f..f53be93 100644 --- a/debian/copyright +++ b/debian/copyright @@ -40,11 +40,11 @@ License: GPL-2+ License: GFDL-NIV-1.3+ Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 or - any later version published by the Free Software Foundation; with no - Invariant Sections, with no Front-Cover Texts, and with no Back-Cover - Texts. A copy of the license is included in the section entitled - "GNU Free Documentation License". + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. . On Debian GNU/Linux systems, the complete text of the GNU Free Documentation License can be found in -- 2.30.2 >From 1712856755f9e4c3ca2dd1d39ec3e7909b206adc Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 16 May 2020 00:16:46 +0200 Subject: [PATCH 04/33] Update syntax of a lintian override --- debian/libltdl-dev.lintian-overrides | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/libltdl-dev.lintian-overrides b/debian/libltdl-dev.lintian-overrides index 39a640a..b1020fe 100644 --- a/debian/libltdl-dev.lintian-overrides +++ b/debian/libltdl-dev.lintian-overrides @@ -2,4 +2,4 @@ libltdl-dev binary: extra-license-file # the whole libltdl source is included, including README -package-contains-documentation-outside-usr-share-doc usr/share/libtool/README +package-contains-documentation-outside-usr-share-doc [usr/share/libtool/README] -- 2.30.2 >From 42c12bc6d8cefd5820d85be0ea45b725d86d1372 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sat, 16 May 2020 20:07:14 +0200 Subject: [PATCH 05/33] Fix doc-base, -doc now installs to /u/s/libtool --- debian/libtool-doc.doc-base | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/libtool-doc.doc-base b/debian/libtool-doc.doc-base index 894b507..610ae27 100644 --- a/debian/libtool-doc.doc-base +++ b/debian/libtool-doc.doc-base @@ -5,5 +5,5 @@ Abstract: Portable shared library support for source code packages Section: Programming Format: HTML -Index: /usr/share/doc/libtool-doc/libtool.html -Files: /usr/share/doc/libtool-doc/*.html +Index: /usr/share/doc/libtool/libtool.html +Files: /usr/share/doc/libtool/libtool.html -- 2.30.2 >From 8ee465c5465a2dc336f82b85f548a19afc54 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez
Bug#1026392: transition: gnat-12
Package: release.debian.org Followup-For: Bug #1026392 Libgnatcoll-db/23.0.0-2 in experimental builds on mipsel. Libgmpada has failed on two different i386 buildds but succeeded on the i386 porterbox. Bug #1026828 will prevent migration to testing. As far as I know, we can start the reupload to unstable as soon as the release team allows it.
Bug#1026392: transition: gnat-12
> libgnatcoll-db succesfully built on mipsel in the meantime. Yes, I have uploaded a fixed version. > > - are removed from testing because of #1020018, > > - are updated in experimental, but now > > fail to build on a supported architecture. > > I intend to > > - fill RC bugs against them in order to prevent their migration from > > unstable to to testing. > Against libgmpada and libnatcoll-db or are there also others? This only applies to libgmpada and bug #1026828. > > - reupload them from experimental to unstable with the other packages > > as part of the transition > > (so that the versions depending on gnat-11 disappear from unstable) > > (and so that RC-buggy but mostly usable versions are available) > > - try to fix the issues after the transition is completed > Given the upcoming freeze, I'd suggest fixing those as soon as possible. I fear I don’t know what to do for libgmpada. The build fails reproductibly on buildds but succeeds on the i386 porterbox.
Bug#916475: ghdl: various suggestions to simplify the packaging
Source: ghdl Followup-For: Bug #916475 Hello. I see that you have committed most suggestions in this bug report. Great! Four were ignored, probably because you are busy with the build failures. Just in case, a rebased version is attached. I have not tried a full rebuild, because it is also possible that you prefer the existing code. >From 9b98af64ac20f6e58674034bf07d8b6a589a3c33 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 14 Dec 2022 13:48:00 +0100 Subject: [PATCH 1/4] Simplify installation of the ghdl wrapper --- debian/ghdl-common.install| 7 ++- debian/installed-names/README | 2 ++ debian/{ghdl.wrapper => installed-names/ghdl} | 0 debian/rules | 1 - 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 debian/installed-names/README rename debian/{ghdl.wrapper => installed-names/ghdl} (100%) mode change 100644 => 100755 diff --git a/debian/ghdl-common.install b/debian/ghdl-common.install index d76d810e..7ac15337 100644 --- a/debian/ghdl-common.install +++ b/debian/ghdl-common.install @@ -1,3 +1,8 @@ -usr/bin/ghdl +# This Debian-specific script lives under debian/, but cannot be named +# debian/ghdl because this path is used by dh_install tools. +# dh_install cannot rename it during the installation phase, so it +# lives in debian/installed-names. +debian/installed-names/ghdl usr/bin + usr/lib/ghdl/src usr/lib/ghdl/include diff --git a/debian/installed-names/README b/debian/installed-names/README new file mode 100644 index ..2b391142 --- /dev/null +++ b/debian/installed-names/README @@ -0,0 +1,2 @@ +A comment in debian/ghdl-common.install explains why this directory +exists. diff --git a/debian/ghdl.wrapper b/debian/installed-names/ghdl old mode 100644 new mode 100755 similarity index 100% rename from debian/ghdl.wrapper rename to debian/installed-names/ghdl diff --git a/debian/rules b/debian/rules index 9644cf9a..b1c90406 100755 --- a/debian/rules +++ b/debian/rules @@ -159,7 +159,6 @@ override_dh_auto_build: fi override_dh_auto_install: - install -pD debian/ghdl.wrapper $(CURDIR)/debian/tmp/usr/bin/ghdl @echo @echo @echo Installing with mcode backend -- 2.30.2 >From 246eb3cb650ba8de44d05d6483356e960c3ae674 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Wed, 14 Dec 2022 14:02:42 +0100 Subject: [PATCH 2/4] Replace some hand-written commands with dh_install or link debhelper files This should be a no-op, but reduce the overall complexity. Shell/Make tests are replaced with package names in the debhelper configuration file name. Symbolic links are explicitly marked as such instead of created in the already complex debian/rules, then installed as normal files by debian/*.install. --- debian/ghdl-common.install | 6 +- debian/ghdl-gcc.install| 1 - debian/ghdl-gcc.links | 3 +++ debian/ghdl-llvm.install | 1 - debian/ghdl-llvm.links | 3 +++ debian/ghdl-mcode.install | 1 - debian/ghdl-mcode.links| 3 +++ debian/rules | 19 ++- 8 files changed, 16 insertions(+), 21 deletions(-) diff --git a/debian/ghdl-common.install b/debian/ghdl-common.install index 7ac15337..5b739b1b 100644 --- a/debian/ghdl-common.install +++ b/debian/ghdl-common.install @@ -4,5 +4,9 @@ # lives in debian/installed-names. debian/installed-names/ghdl usr/bin -usr/lib/ghdl/src +# Depending on DEB_BUILD_PROFILES, between one and three copies are +# installed under debian/tmp. A redundant shell wildcard should be +# sufficient as long as the contents match. +usr/lib/ghdl/*/vhdl/src/usr/lib/ghdl + usr/lib/ghdl/include diff --git a/debian/ghdl-gcc.install b/debian/ghdl-gcc.install index b721e0cd..a7c5c6f0 100644 --- a/debian/ghdl-gcc.install +++ b/debian/ghdl-gcc.install @@ -7,6 +7,5 @@ usr/lib/ghdl/gcc/vhdl/*.a usr/lib/ghdl/gcc/vhdl/grt.* usr/lib/ghdl/gcc/vhdl/grt-*.* -usr/lib/ghdl/gcc/vhdl/src usr/lib/ghdl/gcc/vhdl/std usr/lib/ghdl/gcc/vhdl/ieee diff --git a/debian/ghdl-gcc.links b/debian/ghdl-gcc.links index 6ba63a7b..70f476c2 100644 --- a/debian/ghdl-gcc.links +++ b/debian/ghdl-gcc.links @@ -1 +1,4 @@ +# The actual files are provided by the ghdl-common package. +usr/lib/ghdl/srcusr/lib/ghdl/gcc/vhdl/src + usr/share/man/man1/ghdl.1.gz usr/share/man/man1/ghdl-gcc.1.gz diff --git a/debian/ghdl-llvm.install b/debian/ghdl-llvm.install index b9abd68e..d2236f97 100644 --- a/debian/ghdl-llvm.install +++ b/debian/ghdl-llvm.install @@ -6,6 +6,5 @@ usr/lib/ghdl/llvm/vhdl/*.a usr/lib/ghdl/llvm/vhdl/grt.* usr/lib/ghdl/llvm/vhdl/grt-*.* -usr/lib/ghdl/llvm/vhdl/src usr/lib/ghdl/llvm/vhdl/std usr/lib/ghdl/llvm/vhdl/ieee diff --git a/debian/ghdl-llvm.links b/debian/ghdl-llvm.links index 52b5924a..e4471ded 100644 --- a/debian/ghdl-llvm.links +++ b/debian/ghdl-llvm.links @@ -1 +1,4 @@ +# T
Bug#1026828: libgmpada: FTBFS on i386: raised ADA.ASSERTIONS.ASSERTION_ERROR : demo.adb:119
Source: libgmpada Version: 1.5-1 Severity: serious Tags: ftbfs Justification: fails to build on a supported architecture A post-build test fails on i386 buildds: https://buildd.debian.org/status/fetch.php?pkg=libgmpada&arch=i386&ver=1.5-1&stamp=1671621582&raw=0 https://buildd.debian.org/status/fetch.php?pkg=libgmpada&arch=i386&ver=1.5-1&stamp=1661971646&raw=0 but succeeds on an i386 porterbox.
Bug#1026392: transition: gnat-12
Package: release.debian.org Severity: normal User: release.debian@packages.debian.org Usertags: transition Hello. The gcc-V source package builds the Ada compiler (gnat-V) and companion library (libgnat-V). The default Ada compiler is selected by the gnat package. In unstable and testing, gnat Depends: gnat-11. In experimental, gnat Depends: gnat-12. Most Ada packages are currently removed from testing because of #1020018 (in libxmlada, a quite common indirect build-dependency via gprbuild) (fixed by this transition). Ada libraries have specific requirements. * They must Build-Depend: gnat (>= V) gnat (<< V+1). * Each -dev package name carries a version, similar to the shared object version for lib packages. Most changes in the source require a renaming of the -dev package, and a source upload of all reverse dependencies. In order to reduce the number of such transitions, many unrelated changes, like new upstream releases, are introduced with a libgnat transition and tested in experimental. * Each -dev package depends on both gnat and gnat-V. GCC builds no libgnat-V-dev package. The sources for the Ada standard library are distributed with the compiler in the gnat-V package. So it is convenient to track the transition with the libgnat-V package instead (even when the ABI is unchanged). Ben file: title = "gnat-12"; is_affected = .depends ~ "libgnat-8" | .depends ~ "libgnat-9" | .depends ~ "libgnat-10" | .depends ~ "libgnat-11" | .depends ~ "libgnat-12"; is_good = .depends ~ "libgnat-12"; is_bad = .depends ~ "libgnat-8" | .depends ~ "libgnat-9" | .depends ~ "libgnat-10" | .depends ~ "libgnat-11"; libgmpada https://buildd.debian.org/status/fetch.php?pkg=libgmpada&arch=i386&ver=1.5-1&stamp=1661971646&raw=0 libgnatcoll-db https://buildd.debian.org/status/fetch.php?pkg=libgnatcoll-db&arch=mipsel&ver=23%7E20220814-1&stamp=1661841082&raw=0 - are removed from testing because of #1020018, - are updated in experimental, but now fail to build on a supported architecture. I intend to - fill RC bugs against them in order to prevent their migration from unstable to to testing. - reupload them from experimental to unstable with the other packages as part of the transition (so that the versions depending on gnat-11 disappear from unstable) (and so that RC-buggy but mostly usable versions are available) - try to fix the issues after the transition is completed Is this the right way to proceed? adacgi adasockets ahven anet dbusada gprbuild gprbuild libalog libaunit libflorist libgnatcoll libgnatcoll-bindings libgtkada liblog4ada libncursesada libtemplates-parser libtexttools libxmlada libxmlada libxmlezout pcscada ready in experimental, removed from unstable plplot ready in experimental dh-ada-library gprconfig-kb ready in experimental (not Ada libraries, but connected and part of the transition) ghdl music123 are ready in experimental (not Ada libraries, but part of the transition because of dh-ada-library/8) These source packages produce no library and should only need a bin-NMU in due time: nmu topal_81-2 . ANY . -m 'Rebuild with gnat-12' nmu whitakers-words_0.2020.10.27-1.2 . ANY . -m 'Rebuild with gnat-12' nmu phcpack_2.4.86+dfsg-2. ANY . -m 'Rebuild with gnat-12' ada-reference-manual only requires gnat at build time and should not be affected. adabrowse adacontrol asis gnat-gps libaws are removed from testing because of unrelated RC bugs and should not block anything.
Bug#1025733: merge 1020018 1025733
forcemerge 1020018 1025733 thanks This is a duplicate. 1020018 is closed by libxmlada/23.0.0-1 in experimental.
Bug#1010751: clone: handle -b optional branch specification in VCS-Git
Package: git-buildpackage Followup-For: Bug #1010751 Hello. The attached commit implements your suggestions. >From 3f8debeeeffbf57e77234848317b38d12b2d3363 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Sun, 8 May 2022 16:51:26 +0200 Subject: [PATCH] clone: handle -b optional branch specification in VCS-Git --- gbp/scripts/clone.py | 35 --- tests/29_test_gbp_clone.py | 18 -- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/gbp/scripts/clone.py b/gbp/scripts/clone.py index 7e02f0e2..4825c572 100755 --- a/gbp/scripts/clone.py +++ b/gbp/scripts/clone.py @@ -47,10 +47,15 @@ def apt_showsrc(pkg): def vcs_git_url(pkg): +""" +(url, None) most of the time +(url, branch) when the VCS-Git contains -b +(None, None) when the VCS-Git field is missing +""" repos = {} out = apt_showsrc(pkg) -vcs_re = re.compile(r'(x-)?vcs-git:\s*(?P[^ ]+)$', re.I) +vcs_re = re.compile(r'(?:x-)?vcs-git:\s*([^ ]+)(?:\s+-b\s+([^ ]+))?$', re.I) version_re = re.compile(r'Version:\s*(?P.*)$', re.I) end_re = re.compile(r'\s*$') @@ -58,7 +63,7 @@ def vcs_git_url(pkg): for line in out.split('\n'): m = vcs_re.match(line) if m: -repo = m.group('repo') +repo = m.groups() continue m = version_re.match(line) if m: @@ -72,7 +77,7 @@ def vcs_git_url(pkg): if not repos: gbp.log.err("Can't find any vcs-git URL for '%s'" % pkg) -return None +return None, None s = sorted(repos, key=cmp_to_key(DpkgCompareVersions())) return repos[s[-1]] @@ -80,27 +85,31 @@ def vcs_git_url(pkg): def repo_to_url(repo): """ +(url, None) most of the time +(url, branch) when VCS-Git is required and contains a -b option +(None, None) when VCS-Git is required but missing. + >>> repo_to_url("https://foo.example.com";) -'https://foo.example.com' +('https://foo.example.com', None) >>> repo_to_url("salsa:agx/git-buildpackage") -'https://salsa.debian.org/agx/git-buildpackage.git' +('https://salsa.debian.org/agx/git-buildpackage.git', None) >>> repo_to_url("github:agx/git-buildpackage") -'https://github.com/agx/git-buildpackage.git' +('https://github.com/agx/git-buildpackage.git', None) """ parts = repo.split(":", 1) if len(parts) != 2: -return repo +return repo, None else: proto, path = parts if proto == 'salsa': -return 'https://salsa.debian.org/%s.git' % path +return 'https://salsa.debian.org/%s.git' % path, None if proto == 'github': -return 'https://github.com/%s.git' % path +return 'https://github.com/%s.git' % path, None elif proto in ['vcsgit', 'vcs-git']: return vcs_git_url(path) else: -return repo +return repo, None def add_upstream_vcs(repo): @@ -189,7 +198,7 @@ def main(argv): return 1 else: remote_repo = args[1] -source = repo_to_url(remote_repo) if options.aliases else remote_repo +source, vcs_git_branch = repo_to_url(remote_repo) if options.aliases else remote_repo, None if not source: return 1 @@ -212,6 +221,10 @@ def main(argv): postclone = options.postclone (options, args) = parse_args(argv) +if vcs_git_branch and vcs_git_branch != options.debian_branch: +gbp.log.warn(f'VCS-Git: -b {vcs_git_branch} overrides --debian-branch={options.debian_branch}') +options.debian_branch = vcs_git_branch + # Track all branches: if options.all: remotes = repo.get_remote_branches() diff --git a/tests/29_test_gbp_clone.py b/tests/29_test_gbp_clone.py index f1ac3925..b1930612 100644 --- a/tests/29_test_gbp_clone.py +++ b/tests/29_test_gbp_clone.py @@ -15,7 +15,7 @@ Vcs-Git: git://honk.sigxcpu.org/git/git-buildpackage.git Version: 0.8.14 Standards-Version: 3.9.8 -Vcs-Git: https://git.sigxcpu.org/cgit/git-buildpackage/ -b foo +Vcs-Git: https://git.sigxcpu.org/cgit/git-buildpackage/ unexpected_info Version: 0.8.12.2 Standards-Version: 3.9.8 @@ -31,4 +31,18 @@ Vcs-Git: git://honk.sigxcpu.org/git/git-buildpackage.git @patch('gbp.scripts.clone.apt_showsrc', return_value=show_src) def test_vcs_git_url(self, patch): self.assertEqual(vcs_git_url('git-buildpackage'), - 'https://git.sigxcpu.org/cgit/git-buildpackage/') + ('https://g
Bug#1012509: gprconfig-kb: gnatgcc breaks the build of libgnatcoll-bindings
Package: gprconfig-kb Version: 22.0.0-4 Severity: normal Control: affects -1 libgnatcoll-bindings libncursesada libtexttools 22.0.0-4 compiles C sources with gnatgcc instead of gcc. After this change, gprbuild does not always set -fPIC anymore on the command line compiling C sources for a shared library. This breaks the linking step later. /usr/bin/ld: python3/obj/relocatable/python_support.o: warning: relocation against `_Py_FalseStruct' in read-only section `.text' /usr/bin/ld: python3/obj/relocatable/python_support.o: relocation R_X86_64_PC32 against symbol `PyExc_TypeError' can not be used when making a shared object; recompile with -fPIC
Bug#1008152: gprbuild: FTBFS during binary-indep build
Source: gprbuild Followup-For: Bug #1008152 Hello. A new occurrence has affected 2022.0.0-5 on buildds: https://buildd.debian.org/status/fetch.php?pkg=gprbuild&arch=all&ver=2022.0.0-5&stamp=1653957840&raw=0 Extension error (sphinx.environment.collectors.toctree): Handler > for event 'env-get-updated' threw an exception (exception: pickle data was truncated) The changes between gprbuild/2022.0.0-4 and -5 certainly don’t affect -indep builds, and a local build succeeds, so the 'unreproducible' tag remains.
Bug#1011991: RM: libgnatcoll-python -- ROM; NPOASR; temporary package not needed anymore
Package: ftp.debian.org Severity: normal Control: unblock 936624 by 936869 Hello. Please remove these packages from unstable: libgnatcoll-python:src libgnatcoll-python19 libgnatcoll-python19-dev I am the maintainer of libgnatcoll-bindings and libgnatcoll-python. The normal situation is that the libgnatcoll-bindings source package produces libgnatcoll-${COMPONENT}{SOVERSION} and libgnatcoll-${COMPONENT}{ALIVERSION}-dev for various COMPONENTs including python. A few years ago, the python component was ready for both python2&3, but its only reverse dependency gnat-gps was requiring python2. As a temporary measure, the separate libgnatcoll-python source package was introduced. This allowed the other components to be updated in testing, while the python(2) component and gnat-gps were RC-buggy in unstable (#936869 and #936624 respectively). Nowadays * gnat-gps has been RC-buggy for a while. It depends on libgnatcoll-python18 that no one is building anymore. * If/when we manage to rebuild gnat-gps, latest upstream version is ready for python3. Hence the unblock command above. There is no need for a separate package anymore, so libgnatcoll-bindings builds the python(3) component again. libgnatcoll-python3.1 libgnatcoll-python3.1-dev These fully replace the removed packages. Thanks.
Bug#1010468: transition: gnat-11
Package: release.debian.org Followup-For: Bug #1010468 Hello. As far as I understand, the gnat-11 transition is complete and this bug can be closed.
Bug#998059: reproducibility workaround for sphinx objects.inv
A subclass of such issues affects punctuation. For example, a straight apostrophe ' sometimes becomes an apostrophe ’ in the libxmlada package. There are several links in the smartquotes section of https://www.sphinx-doc.org/en/master/usage/configuration.html Easy work-around: smartquotes=False in conf.py Proper fix, when possible: use the right character in the .md sources in the first place.
Bug#1011150: git-buildpackage: suggestions improving the packaging
First, thanks for welcoming suggestions and taking the time to explain your concerns. I have rebased the remaining suggestions, split them in smaller commits, and adapted some. 1 is a matter of taste. 2 should be consensual, but may need a rebase if 1 is not > > Subject: [PATCH 5/8] debhelper: generate some lists in configuration files > i've skipped this one. I'm fine with using more globs but rather not use > a script as it might defeat dh_listmissing. 3 should be consensual 4 I think that the solution I have selected prevents such problems. However, I fully agree with your concern so I have made the intention explicit in comments near the code. If my reasoning does not convince you, let’s forget my suggestion and keep a hand-written list. > > Subject: [PATCH 7/8] Makefile: spare unneeded recursive Make invokations > I skipped that one just because I think being a bit more explicit is > o.k. here. 5 fixes a bug 6 is more explicit in my opinion because debian/rules explicitly contains the word 'export', but you decide. >From f5bafea563ed3e1a7bc8b8b19b02007b13cf487e Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 26 May 2022 00:47:22 +0200 Subject: [PATCH 1/6] Move some cleaning from debian/rules to debian/clean --- debian/clean | 2 ++ debian/rules | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 debian/clean diff --git a/debian/clean b/debian/clean new file mode 100644 index ..0ac9e25f --- /dev/null +++ b/debian/clean @@ -0,0 +1,2 @@ +build/ +gbp/version.py diff --git a/debian/rules b/debian/rules index 0802452d..ad61ba7a 100755 --- a/debian/rules +++ b/debian/rules @@ -13,6 +13,4 @@ execute_after_dh_fixperms: chmod a+x debian/git-buildpackage/usr/lib/python3/dist-packages/gbp/scripts/supercommand.py execute_after_dh_auto_clean: - rm -rf build/ make -C docs/ clean - -rm gbp/version.py -- 2.30.2 >From 73dfa8e10bfc46a987906648285083787968e912 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 26 May 2022 00:49:25 +0200 Subject: [PATCH 2/6] debian/clean: add forgotten files --- debian/clean | 3 +++ 1 file changed, 3 insertions(+) diff --git a/debian/clean b/debian/clean index 0ac9e25f..026cf3bf 100644 --- a/debian/clean +++ b/debian/clean @@ -1,2 +1,5 @@ build/ +coverage.xml +gbp.egg-info/ gbp/version.py +nosetests.xml -- 2.30.2 >From cc6df249062c7604df8f175ecb524bcffe97a2db Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 26 May 2022 01:44:07 +0200 Subject: [PATCH 3/6] debian/rules: clean __pycache__ directories generated during the build --- debian/rules | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/rules b/debian/rules index ad61ba7a..a20be4bb 100755 --- a/debian/rules +++ b/debian/rules @@ -14,3 +14,4 @@ execute_after_dh_fixperms: execute_after_dh_auto_clean: make -C docs/ clean + find gbp -name __init__.py -printf '%h/__pycache__/\n' | xargs rm -fr -- 2.30.2 >From 2b3e0c9c61b63c59db02c9bf917286a6bcac63a4 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 17 May 2022 15:27:41 +0200 Subject: [PATCH 4/6] debhelper: generate some lists in configuration files --- debian/git-buildpackage-rpm.install | 17 --- debian/git-buildpackage.install | 47 - debian/not-installed| 15 - 3 files changed, 32 insertions(+), 47 deletions(-) mode change 100644 => 100755 debian/git-buildpackage-rpm.install mode change 100644 => 100755 debian/git-buildpackage.install mode change 100644 => 100755 debian/not-installed diff --git a/debian/git-buildpackage-rpm.install b/debian/git-buildpackage-rpm.install old mode 100644 new mode 100755 index f79d4f17..0d1c755d --- a/debian/git-buildpackage-rpm.install +++ b/debian/git-buildpackage-rpm.install @@ -1,6 +1,13 @@ +#!/bin/sh +set -C -e -f -u + +# This script is normally executed after dh_auto_install and could +# just parse debian/tmp. It parses gbp/ instead so that: +# * it can be checked at any time by simply executing it. +# * it does not interfer with dh_listmissing. +find gbp -path '*rpm*.py' -printf \ + 'usr/lib/python3.*/dist-packages/%p usr/lib/python3/dist-packages/%h\n' + +cat <>From e5eadf75333b17a7aba226ebafdfdca28a5e34a1 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 26 May 2022 01:53:54 +0200 Subject: [PATCH 5/6] debian/rules: really export GBP_NETWORK_TESTS to tests $(MAKE) GBP_NETWORK_TESTS=1 was setting a Make variable in the sub-Make, but not exporting it for test/*.py subprocesses. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index db5ad88e..6134edab 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ TEST_LOCALE?=C.UTF-8 all: syntax-check test all+net: - $(MAKE) GBP_NETWORK_TESTS=1 all + GBP_NETWORK_TESTS=1 $(MAKE) all test: export HOME=/nonexisting;
Bug#1011556: dh-octave: provide dh-sequence-octave virtual package, dh_auto_install to debian/tmp
Package: dh-octave Severity: wishlist Tags: patch Hello. The attached suggestions may simplify the use of dh-octave, especially for source packages building several binary packages. >From 8f56b92d51e122a8c50e12c0c14da0c37bba6acb Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 24 May 2022 21:13:45 +0200 Subject: [PATCH 1/4] d/control: let dh-octave provide dh-sequence-octave Debhelper recognizes this special formal packages in Build-Depends and adds --with=octave to the dh parameters. This is quite convenient when the dependency is restricted to architecture-independent builds or by profiles. In such scenarios, several non-trivial conditionals can be avoided in debian/rules. --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index 8cc3d4a..280752f 100644 --- a/debian/control +++ b/debian/control @@ -16,6 +16,7 @@ Vcs-Git: https://salsa.debian.org/pkg-octave-team/dh-octave.git Rules-Requires-Root: no Package: dh-octave +Provides: dh-sequence-octave Architecture: all Depends: octave-dev, debhelper-compat (= 13), -- 2.30.2 >From e67ffe5ff0858c3722e8c100bd71b1ffed975b09 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 24 May 2022 22:13:54 +0200 Subject: [PATCH 2/4] =?UTF-8?q?install-pkg.m:=20implement=20non-octave=20p?= =?UTF-8?q?arts=20with=20perl=E2=80=99s=20Dh=5FLib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The effect should be equivalent, with a slight improvement when debhelper verbose option is enabled. --- buildsystem.pm | 22 +- install-pkg.m | 23 +-- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/buildsystem.pm b/buildsystem.pm index 974b275..ffd3dab 100644 --- a/buildsystem.pm +++ b/buildsystem.pm @@ -10,13 +10,33 @@ sub DESCRIPTION { sub install { my $this = shift; +my $destdir = "debian/" . sourcepackage(); +my $arch = dpkg_architecture_value("DEB_HOST_MULTIARCH"); +my $mpath = "$destdir/usr/share/octave/packages"; +my $bpath = "$destdir/usr/lib/$arch/octave/packages"; + $this->doit_in_sourcedir ("octave", "--no-gui", "--no-history", "--silent", "--no-init-file", "--no-window-system", - "/usr/share/dh-octave/install-pkg.m") + "/usr/share/dh-octave/install-pkg.m", + $mpath, $bpath); + +doit ("rmdir", "--ignore-fail-on-non-empty", "-p", "$mpath", "$bpath"); + +# Remove unnecessary documentation files +doit ("rm", "-fr", "$mpath/*/doc"); +doit ("rm", "-f", "$mpath/*/packinfo/COPYING"); + +# Fix permission of installed *.oct and *.mex files, as per FHS 3.0 +# sections 4.6 and 4.7 (see Bug#954149) +doit ("chmod", "-x", "$bpath/*/*/*.oct"); +doit ("chmod", "-x", "$bpath/*/*/*.mex"); + +# Remove left over files *-tst +doit ("rm", "-f", "$bpath/*/*/*-tst"); } sub clean { diff --git a/install-pkg.m b/install-pkg.m index 0a343ad..d586c13 100644 --- a/install-pkg.m +++ b/install-pkg.m @@ -24,12 +24,7 @@ if (exist ("./PKG_ADD") == 2) movefile ("PKG_ADD", "PKG_ADD.bak"); endif -package = sysout ("grep ^Source: debian/control | cut -f2 -d\\ "); -debpkg = [pwd(), "/debian/", package]; -mpath = [debpkg, "/usr/share/octave/packages"]; -arch = sysout ("dpkg-architecture -qDEB_HOST_MULTIARCH"); -bpath = [debpkg, "/usr/lib/", arch, "/octave/packages"]; -pkg ("prefix", mpath, bpath); +pkg ("prefix", argv(){1}, argv(){2}); pkg ("local_list", fullfile (pwd (), "local-list")); pkg ("global_list", fullfile (pwd (), "global-list")); @@ -41,19 +36,3 @@ if (exist ("PKG_ADD.bak") == 2) endif pkg -verbose -nodeps install . - -system (sprintf ("rmdir --ignore-fail-on-non-empty -p %s %s", - mpath, bpath)); - -### Remove unnecessary documentation files -pkgdir = "debian/*/usr/share/octave/packages/*"; -system (sprintf ("rm -rf %s/doc", pkgdir)); -system (sprintf ("rm -f %s/packinfo/COPYING", pkgdir)); - -### Fix permission of installed *.oct and *.mex files, as per FHS 3.0 -### sections 4.6 and 4.7 (see Bug#954149) -system ("chmod -x debian/*/usr/lib/*/octave/packages/*/*/*.oct"); -system ("chmod -x debian/*/usr/lib/*/octave/packages/*/*/
Bug#1011323: Acknowledgement (lablgtk2: Please remove the obsolete gtkgl/glarea component)
Here is the patch. >From cd9a07159f574cab3c21497fd47528adc7526235 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 19 May 2022 12:24:00 +0200 Subject: Remove the gtkgl/glarea component No package depends on liblablgtk2-gl-ocaml, and it is the last package depending on libgtkgl2, which should be removed from Debian (#967808). diff --git a/debian/META.lablgtk2-gl b/debian/META.lablgtk2-gl deleted file mode 100644 index 0fab3c5..000 --- a/debian/META.lablgtk2-gl +++ /dev/null @@ -1,9 +0,0 @@ -version="2.18.5" -directory="+lablgtk2" -requires = "lablgtk2" - -package "gtkgl" ( - requires = "lablgtk2 lablgl" - archive(byte) = "lablgtkgl.cma" - archive(native) = "lablgtkgl.cmxa" -) diff --git a/debian/control b/debian/control index fd8f51b..e7fd344 100644 --- a/debian/control +++ b/debian/control @@ -9,10 +9,8 @@ Build-Depends: debhelper-compat (= 13), dh-ocaml, ocaml, - liblablgl-ocaml-dev, libncurses5-dev, libgtk2.0-dev, - libgtkgl2.0-dev, librsvg2-dev, libgtkspell-dev, ocaml-findlib @@ -35,19 +33,6 @@ Description: runtime libraries for OCaml bindings for GTK+ version 2 This package include only the dynamic libraries needed for running dynamic bytecode executables. -Package: liblablgtk2-gl-ocaml -Architecture: any -Depends: - ${ocaml:Depends}, - ${shlibs:Depends}, - ${misc:Depends} -Provides: ${ocaml:Provides} -Description: runtime libraries for OCaml bindings to GtkGL - lablgtk2 contains bindings for GTK+ 2.x and Objective Caml. - . - This package include only the dynamic libraries needed for running dynamic - bytecode executables using GtkGL functionalities. - Package: liblablgtk2-gnome-ocaml Architecture: any Depends: @@ -63,7 +48,7 @@ Description: runtime libraries for OCaml bindings to GNOME Package: liblablgtk2-ocaml-dev Architecture: any -Suggests: liblablgtk2-gl-ocaml-dev, liblablgtk2-gnome-ocaml-dev +Suggests: liblablgtk2-gnome-ocaml-dev Depends: libgtk2.0-dev, libgtkspell-dev, @@ -77,22 +62,6 @@ Description: OCaml bindings to Gtk+ version 2 . This package contains the development files of lablgtk. -Package: liblablgtk2-gl-ocaml-dev -Architecture: any -Suggests: liblablgtk2-gnome-ocaml-dev -Depends: - libgtkgl2.0-dev, - ${ocaml:Depends}, - ${shlibs:Depends}, - ${misc:Depends} -Provides: ${ocaml:Provides} -Recommends: liblablgtk2-ocaml-doc -Description: OCaml bindings to GtkGL - lablgtk2 contains bindings for GTK+ 2.x and OCaml. - . - This package contains the development files of lablgtk for libraries using - GtkGL. - Package: liblablgtk2-gnome-ocaml-dev Architecture: any Depends: @@ -114,7 +83,6 @@ Architecture: all Depends: ${misc:Depends} Enhances: liblablgtk2-ocaml-dev, - liblablgtk2-gl-ocaml-dev, liblablgtk2-gnome-ocaml-dev, Description: OCaml bindings to Gtk+ version 2 (documentation) LablGTK2 contains bindings for GTK+ 2.x and OCaml. diff --git a/debian/liblablgtk2-gl-ocaml-dev.docs b/debian/liblablgtk2-gl-ocaml-dev.docs deleted file mode 100644 index e845566..000 --- a/debian/liblablgtk2-gl-ocaml-dev.docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/debian/liblablgtk2-gl-ocaml-dev.install.in b/debian/liblablgtk2-gl-ocaml-dev.install.in deleted file mode 100644 index 030aa50..000 --- a/debian/liblablgtk2-gl-ocaml-dev.install.in +++ /dev/null @@ -1,4 +0,0 @@ -@OCamlStdlibDir@/lablgtk2/glGtk.* -@OCamlStdlibDir@/lablgtk2/liblablgtkgl2* -OPT: @OCamlStdlibDir@/lablgtk2/lablgtkgl.a -OPT: @OCamlStdlibDir@/lablgtk2/lablgtkgl.cmxa diff --git a/debian/liblablgtk2-gl-ocaml.docs b/debian/liblablgtk2-gl-ocaml.docs deleted file mode 100644 index e845566..000 --- a/debian/liblablgtk2-gl-ocaml.docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/debian/liblablgtk2-gl-ocaml.install.in b/debian/liblablgtk2-gl-ocaml.install.in deleted file mode 100644 index 0ae766f..000 --- a/debian/liblablgtk2-gl-ocaml.install.in +++ /dev/null @@ -1,4 +0,0 @@ -debian/META.lablgtk2-gl@OCamlStdlibDir@/METAS -@OCamlStdlibDir@/lablgtk2/dlllablgtkgl2.so @OCamlDllDir@ -@OCamlStdlibDir@/lablgtk2/lablgtkgl.cma -DYN: @OCamlStdlibDir@/lablgtk2/lablgtkgl.cmxs diff --git a/debian/liblablgtk2-ocaml-dev.install.in b/debian/liblablgtk2-ocaml-dev.install.in index e000ad6..8de1759 100644 --- a/debian/liblablgtk2-ocaml-dev.install.in +++ b/debian/liblablgtk2-ocaml-dev.install.in @@ -43,7 +43,6 @@ usr/bin/lablgtk2 @OCamlStdlibDir@/lablgtk2/gtkEdit.* @OCamlStdlibDir@/lablgtk2/gtkEnums.* @OCamlStdlibDir@/lablgtk2/gtkFile.* -@OCamlStdlibDir@/lablgtk2/gtkgl_tags.h @OCamlStdlibDir@/lablgtk2/gtkInit.* @OCamlStdlibDir@/lablgtk2/gtkList.* @OCamlStdlibDir@/lablgtk2/gtkMain.* diff --git a/debian/liblablgtk2-ocaml-doc.ocamldoc.in b/debian/liblablgtk2-ocaml-doc.ocamldoc.in index 2b9e078..587ddae 100644 --- a/debian/liblablgtk2-ocaml-doc.ocamldoc.in +++ b/debian/liblablgtk2-ocaml-doc.ocamldoc.in @@ -1,4 +1,3 @@ -I src --I @OCamlStdlibDir@/lablgl -I @OCamlStdlibDir@/t
Bug#1011324: qr-tools: trivial suggestions simplifying the Debian packaging
Source: qr-tools Severity: wishlist Tags: patch Hello. The attached commits arguably improve the Debian packaging, without changing the binary packages as far as I know. Please apply the ones you find relevant. Thanks. >From 4d854152b72c73a2b51444e2f03e733cce7a35bd Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 19 May 2022 16:10:56 +0200 Subject: [PATCH 1/5] Replace get-orig-source with Files-Excluded The Debian policy recommends to replace the get-orig-source target in debian/rules with a debian/watch file when possible. The Files-Excluded field in debian/copyright now allows uscan to fully replace a hand-written target. --- debian/copyright | 1 + debian/rules | 16 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/debian/copyright b/debian/copyright index a43fbe6..4439bbf 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,6 +1,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: qr-tools Source: https://launchpad.net/qr-tools +Files-Excluded: *.old *.qm Files: * Copyright: 2011 David Green diff --git a/debian/rules b/debian/rules index a00d717..ad434a4 100755 --- a/debian/rules +++ b/debian/rules @@ -17,19 +17,3 @@ execute_after_dh_auto_clean: echo $(DEB_VERSION_UPSTREAM) rm -rf $(CURDIR)/build find -name "*.qm" | xargs rm -f - -PACKAGE = qr-tools - -BZR_REVISION := $(shell echo $(DEB_VERSION_UPSTREAM) | awk -F"~" '{ print $$2 }' | sed 's/bzr//' ) -TARBALL = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar -.PHONY: get-orig-source -get-orig-source: - echo $(DEB_VERSION_UPSTREAM) - bzr export $(CURDIR)/$(TARBALL) -r $(BZR_REVISION) "lp:qr-tools" - tar xf $(CURDIR)/$(TARBALL) - find $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig -name "*.qm" | xargs rm -f - find $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig -name "*.old" | xargs rm -f - tar cf $(CURDIR)/$(TARBALL) $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig - xz -9 $(CURDIR)/$(TARBALL) - rm -rf $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig - echo " "$(TARBALL).xz" created; move it to the right destination to build the package" -- 2.30.2 >From c1788d799f7495070354198d8fcc9a0e29ab80cc Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 19 May 2022 16:13:54 +0200 Subject: [PATCH 2/5] debian/rules: replace override_dh_clean with debian/clean A separate debian/clean file seems consistent with qtqr.dirs. --- debian/clean | 2 ++ debian/rules | 6 -- 2 files changed, 2 insertions(+), 6 deletions(-) create mode 100644 debian/clean diff --git a/debian/clean b/debian/clean new file mode 100644 index 000..7045335 --- /dev/null +++ b/debian/clean @@ -0,0 +1,2 @@ +build/ +*.qm diff --git a/debian/rules b/debian/rules index ad434a4..2925b96 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,6 @@ #!/usr/bin/make -f export QT_SELECT := 5 -include /usr/share/dpkg/pkg-info.mk %: dh $@ --buildsystem=pybuild @@ -12,8 +11,3 @@ execute_after_dh_auto_build: execute_after_dh_auto_install: install -m 644 $(CURDIR)/qtqr.py $(CURDIR)/debian/qtqr/usr/bin/qtqr install -m 644 $(CURDIR)/icon.png $(CURDIR)/debian/qtqr/usr/share/pixmaps/qtqr.png - -execute_after_dh_auto_clean: - echo $(DEB_VERSION_UPSTREAM) - rm -rf $(CURDIR)/build - find -name "*.qm" | xargs rm -f -- 2.30.2 >From 918bbe8a0b42207d57c7b70201344c7a2ee87f6a Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 19 May 2022 16:20:19 +0200 Subject: [PATCH 3/5] Update copyright years for the packaging --- debian/copyright | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/copyright b/debian/copyright index 4439bbf..c724391 100644 --- a/debian/copyright +++ b/debian/copyright @@ -8,8 +8,9 @@ Copyright: 2011 David Green License: GPL-3+ Files: debian/* -Copyright: 2012 Koichi Akabe - 2017 Boyuan Yang <073p...@gmail.com> +Copyright: 2022 Georges Khaznadar + 2012-2014 Koichi Akabe + 2017-2021 Boyuan Yang <073p...@gmail.com> 2019 Gianfranco Costamagna License: GPL-3+ -- 2.30.2 >From edb05c34672c8f9127f3365095599f41c13af5c8 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Thu, 19 May 2022 16:21:24 +0200 Subject: [PATCH 4/5] debian/rules: prefer Make loops over shell loops so that each executed command is visible in logs. --- debian/rules | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index 2925b96..e906aad 100755 --- a/debian/rules +++ b/debian/rules @@ -5,8 +5,11 @@ export QT_SELECT := 5 %: dh $@ --buildsystem=pybuild -execute_after_dh_auto_build: - (for i in $(CURDIR)/qtqr_*.ts; do lrelease -nounfinished $$i -qm $$(echo $$i | sed -e 's/ts$$/qm/g'); done) +ts = $(wildcard qtqr_*.ts) +qm = $(ts:ts=qm) +execute_after_dh_auto_build: $(qm) +$(qm): %.qm: %.ts + lrelease -nounfinish
Bug#1011323: lablgtk2: Please remove the obsolete gtkgl/glarea component
Source: lablgtk2 Severity: minor Tags: patch X-Debbugs-Cc: 967...@bugs.debian.org Hello. No package depends on liblablgtk2-gl-ocaml, and it is the last package depending on libgtkgl2, which should be removed from Debian (#967808). Please consider removing it.
Bug#1011150: git-buildpackage: suggestions improving the packaging
Package: git-buildpackage Version: 0.9.22 Severity: wishlist Tags: patch Hello. The attached commits may slightly help the maintainance of the Debian packaging. Please apply the ones you agree with. Thanks. >From e3ffa388e72450a6fbb37800a69d1094aafdc55d Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 17 May 2022 14:54:08 +0200 Subject: [PATCH 1/8] debhelper: make package prefix explicit in configuration files This slightly improves readability. --- debian/{doc-base => git-buildpackage.doc-base} | 0 debian/{docs => git-buildpackage.docs} | 0 debian/{examples => git-buildpackage.examples} | 0 debian/{links => git-buildpackage.links} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename debian/{doc-base => git-buildpackage.doc-base} (100%) rename debian/{docs => git-buildpackage.docs} (100%) rename debian/{examples => git-buildpackage.examples} (100%) rename debian/{links => git-buildpackage.links} (100%) diff --git a/debian/doc-base b/debian/git-buildpackage.doc-base similarity index 100% rename from debian/doc-base rename to debian/git-buildpackage.doc-base diff --git a/debian/docs b/debian/git-buildpackage.docs similarity index 100% rename from debian/docs rename to debian/git-buildpackage.docs diff --git a/debian/examples b/debian/git-buildpackage.examples similarity index 100% rename from debian/examples rename to debian/git-buildpackage.examples diff --git a/debian/links b/debian/git-buildpackage.links similarity index 100% rename from debian/links rename to debian/git-buildpackage.links -- 2.30.2 >From 31c177f2ad1177ae9872975c7dc15fb5c697314c Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 17 May 2022 15:02:13 +0200 Subject: [PATCH 2/8] debian/rules: simplify installation of zsh and pk4 There seems to be no reason to change their names and permissions between the source tree and the eventual installation path. --- debian/git-buildpackage.install | 2 ++ debian/{pk4 => pk4/gbp} | 0 debian/rules | 9 - debian/{git-buildpackage.zsh-completion => zsh/_gbp} | 0 4 files changed, 2 insertions(+), 9 deletions(-) rename debian/{pk4 => pk4/gbp} (100%) mode change 100644 => 100755 rename debian/{git-buildpackage.zsh-completion => zsh/_gbp} (100%) diff --git a/debian/git-buildpackage.install b/debian/git-buildpackage.install index 8e898c17..956ac8c3 100644 --- a/debian/git-buildpackage.install +++ b/debian/git-buildpackage.install @@ -1,3 +1,5 @@ +debian/zsh/_gbp usr/share/zsh/vendor-completions +debian/pk4/gbpusr/share/pk4/hooks-available/unpack usr/bin/gbp usr/bin/git-pbuilder usr/lib/python3.*/dist-packages/gbp-* usr/lib/python3/dist-packages/ diff --git a/debian/pk4 b/debian/pk4/gbp old mode 100644 new mode 100755 similarity index 100% rename from debian/pk4 rename to debian/pk4/gbp diff --git a/debian/rules b/debian/rules index 24dedb6c..c49d2c2e 100755 --- a/debian/rules +++ b/debian/rules @@ -9,9 +9,6 @@ EXAMPLE_SCRIPTS=\ DEB_COMPRESS_EXCLUDE=$(EXAMPLE_SCRIPTS) -ZSH_COMPDIR = /usr/share/zsh/vendor-completions/ -PK4_DIR = /usr/share/pk4/hooks-available/unpack/ - PYCHECKER_ARGS=-boptparse --no-override --no-shadowbuiltin %: @@ -31,12 +28,6 @@ override_dh_auto_build: override_dh_auto_install: dh_auto_install dh_bash-completion - mkdir -p debian/git-buildpackage/$(ZSH_COMPDIR) - install -m644 debian/git-buildpackage.zsh-completion \ - debian/git-buildpackage/$(ZSH_COMPDIR)/_gbp - mkdir -p debian/git-buildpackage/$(PK4_DIR) - install -m755 debian/pk4 \ - debian/git-buildpackage/$(PK4_DIR)/gbp chmod a+x debian/tmp/usr/lib/python3.*/dist-packages/gbp/scripts/supercommand.py override_dh_auto_clean: diff --git a/debian/git-buildpackage.zsh-completion b/debian/zsh/_gbp similarity index 100% rename from debian/git-buildpackage.zsh-completion rename to debian/zsh/_gbp -- 2.30.2 >From a37e989709635d46e4ca17a4e2c6bfdea0614463 Mon Sep 17 00:00:00 2001 From: Nicolas Boulenguez Date: Tue, 17 May 2022 15:13:06 +0200 Subject: [PATCH 3/8] rules: simplify thanks to debhelper compat 13 When dh-sequence-foo is listed in build-depends, debhelper automatically inserts dh_foo in the commands. override_dh_auto_test is not invoked anymore if DEB_BUILD_OPTIONS contains nocheck. execute_after_dh_* is available and more readable than override_dh_*. Move chmod to execute_after_dh_fixperms for clarity. Examples are not compressed anymore. --- debian/control | 1 + debian/rules | 22 ++ 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/debian/control b/debian/control index ab89dc58..0997139e 100644 --- a/debian/control +++ b/debian/control @@ -6,6 +6,7 @@ Build-Depends: bash-completion (>= 1:2.1-4.2~), debhelper-compat (= 13), dh-python, + dh-sequence-bash-completion, dh-sequence-python3, docbook2x,
Bug#992241: dh-ada-library ftbfs with mismatching gcc/gnat versions
Source: dh-ada-library Followup-For: Bug #992241 Control: reassign -1 gprconfig-kb Control: tag -1 + pending After a discussion with by Ludovic… For now, gprbuild is only commonly used to compile * either pure Ada projects * or projects mixing Ada and C. In order to support only these two scenarios, the gnatgcc symbolic link seems sufficient, and may be inserted it into gprconfig-kb (a support package for gprbuild). Commit 26b5aa878ed7d5f7e0b2af1fd62c8ece3f05a428 implements this, but will only be uploaded after the current gnat-11 transition.
Bug#1010750: [git-buildpackage/master] scripts: add -v shortcut for --verbose where it has been forgotten
tag 1010750 pending thanks Date: Sun May 8 16:48:29 2022 +0200 Author: Nicolas Boulenguez Commit ID: e17d814394e58307c9c67cbb3e59d95083d02be8 Commit URL: https://git.sigxcpu.org/cgit/git-buildpackage//commit/?id=e17d814394e58307c9c67cbb3e59d95083d02be8 Patch URL: https://git.sigxcpu.org/cgit/git-buildpackage//patch/?id=e17d814394e58307c9c67cbb3e59d95083d02be8 scripts: add -v shortcut for --verbose where it has been forgotten Closes: #1010750