• Bug#1099733: dependency loop with opam

    From Samuel Thibault@21:1/5 to All on Fri Mar 7 11:10:02 2025
    XPost: linux.debian.maint.ocaml.maint

    Source: uutf
    Version: 1.0.3-1
    Severity: important
    Tags: patch

    Hello,

    Currently, opam build-depends on libuutf-ocaml-dev and uutf
    build-depends on opam-installer, making new port bootstraping tricky.

    The attach changes add a pkg.uutf.noopam build profile which avoids the
    opam build dependency, could you apply 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
    Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me
    disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que
    vous teniez vous même la tronçonneuse" (traduction libre)
    NC in Guide du linuxien pervers : "Bien configurer sa tronçonneuse."

    --- debian/control.original 2025-03-07 09:47:14.000000000 +0000
    +++ debian/control 2025-03-07 09:47:43.000000000 +0000
    @@ -13,7 +13,7 @@
    libtopkg-ocaml-dev,
    libuchar-ocaml-dev,
    libcmdliner-ocaml-dev,
    - opam-installer,
    + opam-installer <!pkg.uutf.noopam>,
    dh-ocaml
    Standards-Version: 4.6.0
    Rules-Requires-Root: no
    @@ -72,6 +72,7 @@
    Package: libuutf-ocaml-doc
    Section: doc
    Architecture: all
    +Build-Profiles: <!pkg.uutf.noopam>
    Depends:
    ${misc:Depends}
    Multi-Arch: foreign
    --- debian/rules.original 2025-03-07 09:48:00.000000000 +0000
    +++ debian/rules 2025-03-07 09:53:59.000000000 +0000
    @@ -17,5 +17,23 @@
    ocaml pkg/pkg.ml test

    override_dh_auto_install:
    +ifeq (,$(filter pkg.uutf.noopam, $(DEB_BUILD_PROFILES)))
    opam-installer --prefix=$(DESTDIR) --libdir=.$(OCAML_STDLIB_DIR) uutf.install
    +else
    + install -d $(DESTDIR)/$(OCAML_STDLIB_DIR)/uutf
    + install -d $(DESTDIR)/bin
    +
    + install _build/test/utftrip.native $(DESTDIR)/bin/utftrip
    + install _build/pkg/META $(DEST