• a tool to rebuild a bunch of packages ?

    From picca@21:1/5 to All on Thu Jul 24 07:40:01 2025
    Hello,

    I prepared a directory with a bunch of sources packages.

    Now I need to build them in the right order with sbuild.

    Do we have somethings which could do this out of the box.

    something like

    sbuild *.dsc -> which indeed fail :).

    Cheers

    Frederic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?St=C3=A9phane_Glondu?=@21:1/5 to All on Thu Jul 24 09:40:01 2025
    Hello,

    Le 24/07/2025 à 07:39, picca a écrit :
    I prepared a directory with a bunch of sources packages.

    Now I need to build them in the right order with sbuild.

    Do we have somethings which could do this out of the box.

    something like

    sbuild *.dsc -> which indeed fail :).

    For OCaml transitions, I use:


    https://salsa.debian.org/debian/ben/-/tree/master/examples/transition-scripts?ref_type=heads


    Cheers,

    --
    Stéphane

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Johannes Schauer Marin Rodrigues@21:1/5 to All on Thu Jul 24 09:50:01 2025
    Quoting Jochen Sprickerhof (2025-07-24 09:11:41)
    * picca <[email protected]> [2025-07-24 07:39]:
    I prepared a directory with a bunch of sources packages.

    Now I need to build them in the right order with sbuild.

    Do we have somethings which could do this out of the box.

    something like

    sbuild *.dsc -> which indeed fail :).

    See

    https://salsa.debian.org/lts-team/lts-extra-tasks/-/issues/60

    For some available tools. In general this is a hard problem as the build graph can contain cycles.

    The problem is also hard because you only know the metadata of binary packages after you have built them. So lets say you have a bunch of generic *.dsc files in a directory and one of them Build-Depends: foo. What source package do you compile so that foo becomes available? Maybe foo is a virtual package and you have no way of knowing which source package builds a binary package that provides foo.

    So for the general problem you would do it the other way round: repeatedly test the Build-Depends of the *.dsc you want to build and queue those which have their B-D satisfied. Build them. Repeat. At some points you might run into cycles as Jochen mentioned and then you have to help manually. Once you write a script that does that you have re-invented a part of rebootstrap.

    Thanks!

    cheers, josch
    --==============x68047364457588793=MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Content-Description: signature
    Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEElFhU6KL81LF4wVq58sulx4+9g+EFAmiB5BMACgkQ8sulx4+9 g+FrTQ/6A37biwLBVnAVOyuVJ5JtOeIEwZ4j+nkcGJ6falVq5/ayHQENHLeTPCxK LZVHN0avUT7BaWiJLwhzQQ/Hgx1o/64zJJVQhpG0KGb8vthf+PkF1wmYEKpAE0fo Y2Ospt4qPWHkqPwDDibqneeAmL22mAYdfJCC4m2Zqmp6PhDNoF4o8iAlhJwVUbbx qFywVvKWFZHh6zv8cDXmXCx049qfwAfA9TNdPN7zqYDqDiBimGt5xe0rw81Z9bQT AjrPAhGx/ckJjEu/TdFu6FL3JxoHZTi1+QWqYk1wq4KNWN7WrKQeAe15pgkUliAd 0Vwf9j0Jl0MzbEWc+5QKPkPBTCchxAy27Vb9bANSG0ZPhGb2sb3GyQbszUhz47nH SEZw5kwh9cyYPpm7FTgcl+zgjcTlapRa+Oo1we0iyb/FcBcVGG5Cr4Lq2rO4nuZ/ DmERFHGLi5CjCcI17gZyn8W+0T0CuIQd3Eicb9scV7l16iM3CuvDfz45RyeEsPMW 6Pm8hRXvUVWMAd6KpXkuOQ8xEMotUxoopyU5HOY9WQfytc7bNwqpRyQ54Cy/xdY9 wy16o4SSCAKMyM2WGd7/PaCmcVrZOEwYmrS5logbhMRmhieSbBvwd4zS7nuTduQP dGW4pwUVKUHgnWFgf4GJlSmKarDVcpd39QJcXu3tQcOp2iZQ3js=
    =CO9N
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jochen Sprickerhof@21:1/5 to All on Thu Jul 24 09:20:01 2025
    Hi Frederic,

    * picca <[email protected]> [2025-07-24 07:39]:
    I prepared a directory with a bunch of sources packages.

    Now I need to build them in the right order with sbuild.

    Do we have somethings which could do this out of the box.

    something like

    sbuild *.dsc -> which indeed fail :).

    See

    https://salsa.debian.org/lts-team/lts-extra-tasks/-/issues/60

    For some available tools. In general this is a hard problem as the build
    graph can contain cycles.

    Cheers Jochen

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEc7KZy9TurdzAF+h6W//cwljmlDMFAmiB3KcACgkQW//cwljm lDMc3w//Ufs+b0RhHtP8iQ4dtD2YD9K714Op2DYVtVeqZDWJCinJBvkUABzxqbj/ jIbrhOzK9+xNDfmc8LvKzOsNBqmNFLg+v/0SO7qiWdVLoHUSNAV2/ypaz8Tahnxs ZR1kG3kqzo4Tc453HRcX5+aytwtTLgjYJyIVEZAd6oSQUXVBCk76s2rSRH+UZHhp Gr5cYreT6NFUbB5UV1YnHS4sXXGK+U5SFTuf9r1YuJjw4nQVwLSf1MRE9js/1iix D28mvBcZ/vgNh/YmOZ6BntUEGU30Gq25SZX4LVC6KbCW8FoxJtEP06lg7s5me5zL NRaSnixK96cAHQECjQAsTfLnlThL/FKVvRHYGZA9nxt1eL/RZa4g7G0b9Fptk1Cq M8NfyGnXWGLZn0Nm4MSJTH1At63QZnqOOnsbyiATIJJwrWubsZfHnkzIEYDx/jWM lbuBzCLqnN0my/W4ywf2MLDmyhQMn1eBLpqH+qYYNYp0v9oBkpxoWCLy8pO7zXfM lROxyoMvMjyO1tiUy5Io0M+pGZWdJWcfug7tSega27AfYa/FnzRnH4Ei8MwtZo4v LnFrN7GlWnbmg0rDspUe6cceF/kiAy0/Z1WY1YUCqPofHfp/LBMXCyXsG7CZ5M+0 8W3zPr9s1CjXlOPwrfitqgK+Y4WPlGNqG4BvfIcFmqbLfzcaYAc=
    =eERr
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Samuel Thibault@21:1/5 to All on Thu Jul 24 10:00:01 2025
    Johannes Schauer Marin Rodrigues, le jeu. 24 juil. 2025 09:43:19 +0200, a ecrit:
    Quoting Jochen Sprickerhof (2025-07-24 09:11:41)
    * picca <[email protected]> [2025-07-24 07:39]:
    I prepared a directory with a bunch of sources packages.

    Now I need to build them in the right order with sbuild.

    Do we have somethings which could do this out of the box.

    something like

    sbuild *.dsc -> which indeed fail :).

    See

    https://salsa.debian.org/lts-team/lts-extra-tasks/-/issues/60

    For some available tools. In general this is a hard problem as the build graph can contain cycles.

    The problem is also hard because you only know the metadata of binary packages
    after you have built them. So lets say you have a bunch of generic *.dsc files
    in a directory and one of them Build-Depends: foo. What source package do you compile so that foo becomes available? Maybe foo is a virtual package and you have no way of knowing which source package builds a binary package that provides foo.

    So for the general problem you would do it the other way round: repeatedly test
    the Build-Depends of the *.dsc you want to build and queue those which have their B-D satisfied. Build them. Repeat. At some points you might run into cycles as Jochen mentioned and then you have to help manually. Once you write a
    script that does that you have re-invented a part of rebootstrap.

    Or debusine?

    Samuel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Norwid Behrnd@21:1/5 to All on Thu Jul 24 10:00:01 2025
    @Frederic

    I prepared a directory with a bunch of sources packages.

    Now I need to build them in the right order with sbuild.

    I wasn't yet in this situation packaging for Debian. Yet conceptually your goal seems similar to compiling, then linking multiple object files into an executable for Fortran projects with a Makefile\* tailored to your needs. An example is developed in a lab class[1] by Daniel Price of Monash University/Australia. Though not a tool prêt-à-porter to pick from Debian's repositories you look for, this (now ad hoc) approach might help you -- both today, and as reusable "recipe" when the need to rebuild occurs again.

    Regards,

    Norwid

    \* Today, fpm/Fortran project manager[2] is an alternative to Make/CMake here.

    [1] https://users.monash.edu.au/~dprice/teaching/fortran/lab-Fortran.pdf
    [2] https://github.com/fortran-lang/fpm

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)