Bug#1099685: dose3: build-dependency loop can be broken through a noextra profile
Source: dose3
Version: 7.0.0-5
Severity: important
Tags: patch
Hello,
Currently:
ocaml-topkg build-depends on opam-installer
opam build-depends on libdose3-ocaml-dev
dose3 build-depends on libbz2-ocaml-dev
camlbz2 build-depends on ocaml-odoc
ocaml-odoc build-depends on ocaml-crunch
ocaml-crunch build-depends on libptime-ocaml-dev
ocaml-ptime build-depends on libtopkg-ocaml-dev
so we need to break the dependency loop somehow for newer ports to
bootstrap sanely. Upstream already has an extra profile and the debian
package has an extra package, they can be both disabled through a
pkg.dose3.noextra build-profile, could you apply the attached patch
which implements it?
Thanks,
Samuel
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, arm64
Kernel: Linux 6.13.0 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
--
Samuel
J'ai beaucoup de mal a lire fcola quand il y a toutes les annonces de howto :
les annonces interessantes sont noyees dans les howto. Ca serait pas mal
de degager toute cette pollution dans un autre groupe.
JLM in Guide du linuxien pervers : "Cachez ces doc que je ne saurais voir"
--- debian/control.original 2025-03-06 18:09:42.000000000 +0000
+++ debian/control 2025-03-06 18:27:23.000000000 +0000
@@ -8,19 +8,19 @@
Build-Depends: debhelper-compat (= 13),
dh-ocaml,
libbase64-ocaml-dev (>= 3.1.0),
- libbz2-ocaml-dev (>= 0.6.0-10~),
+ libbz2-ocaml-dev (>= 0.6.0-10~) <!pkg.dose3.noextra>,
libcudf-ocaml-dev,
libextlib-ocaml-dev (>= 1.7.7),
libocamlgraph-ocaml-dev (>= 2.1.0),
libre-ocaml-dev,
- libzip-ocaml-dev (>= 1.08),
+ libzip-ocaml-dev (>= 1.08) <!pkg.dose3.noextra>,
ocaml-dune (>= 2.7.1),
ocaml,
pandoc
Build-Depends-Arch: grep-dctrl <!nocheck>,
libounit-ocaml-dev <!nocheck>,
libcamlp-streams-ocaml-dev <!nocheck>,
- libparmap-ocaml-dev,
+ libparmap-ocaml-dev <!pkg.dose3.noextra>,
perl,
python3-yaml <!nocheck>,
xz-utils <!nocheck>
@@ -60,6 +60,7 @@
Package: dose-distcheck
Section: devel
Architecture: any
+Build-Profiles: <!pkg.dose3.noextra>
Depends: xz-utils, ${misc:Depends}, ${ocaml:Depends}, ${shlibs:Depends}
Breaks: dose3-distcheck (<< 2.9.13)
Replaces: dose3-distcheck (<< 2.9.13)
@@ -74,6 +75,7 @@
Package: dose-builddebcheck
Section: devel
Architecture: any
+Build-Profiles: <!pkg.dose3.noextra>
Depends: xz-utils, ${misc:Depends}, ${ocaml:Depends}, ${shlibs:Depends}
Breaks: dose3-builddebcheck (<< 2.9.13)
Replaces: dose3-builddebcheck (<< 2.9.13)
@@ -86,6 +88,7 @@
Package: dose-extra
Section: devel
Architecture: any
+Build-Profiles: <!pkg.dose3.noextra>
Provides: ceve
Breaks: ceve (<< 2.9.10)
Replaces: ceve (<< 2.9.10)
@@ -109,6 +112,7 @@
Package: apt-cudf
Section: admin
Architecture: any
+Build-Profiles: <!pkg.dose3.noextra>
Depends: aspcud | cudf-solver,
${misc:Depends},
${ocaml:Depends},
--- debian/rules.original 2025-03-06 18:12:56.000000000 +0000
+++ debian/rules 2025-03-06 18:12:57.000000000 +0000
@@ -4,6 +4,10 @@
DESTDIR=$(CURDIR)/debian/tmp
include /usr/share/ocaml/ocamlvars.mk
+ifeq (,$(filter pkg.dose3.noextra, $(DEB_BUILD_PROFILES)))
+DUNE_EXTRAPROFILE=,dose3-extra
+endif
+
%:
dh $@ --with ocaml
@@ -13,20 +17,20 @@
# - debian/output/source_dir/dose3.opam
# - dose3.opam
override_dh_auto_build-arch:
- dune build -p dose3,dose3-extra @install --verbose
+ dune build -p dose3$(DUNE_EXTRAPROFILE) @install --verbose
make -C doc/manpages man
pod2man --section 8 -release "apt-cudf $(RELEASE)" \
debian/update-cudf-solvers > debian/update-cudf-solvers.8
override_dh_auto_build-indep:
- dune build -p dose3,dose3-extra @doc
+ dune build -p dose3$(DUNE_EXTRAPROFILE) @doc
# running targets manually because we don't want to build the "pages"
make -C doc/debcheck.primer
make -C doc/apt-external-solvers.primer
make -C doc/manpages html
override_dh_auto_install-arch:
- dune install -p dose3,dose3-extra --destdir=$(DESTDIR) --prefix=/usr --libdir=$(OCAML_STDLIB_DIR)
+ dune install -p dose3$(DUNE_EXTRAPROFILE) --destdir=$(DESTDIR) --prefix=/usr --libdir=$(OCAML_STDLIB_DIR)
rm -f $(DESTDIR)/usr/doc/dose3/README.git
rm -f $(DESTDIR)/usr/doc/dose3/README.architecture
rm -f $(DESTDIR)/usr/doc/dose3/CHANGES
@@ -37,5 +41,5 @@
override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
- dune runtest -p dose3,dose3-extra
+ dune runtest -p dose3$(DUNE_EXTRAPROFILE)
endif
Reply to: