• parallel gnu and parallel from moreutils

    From Federico Kircheis@21:1/5 to All on Sun Jun 1 19:50:01 2025
    Hello,

    Debian provides two parallel executable one from the parallel package
    (gnu parallel) and one from the moreutils package.


    When both packages are installed, /usr/bin/parallel is gnu parallel, and /usr/bin/parallel.moreutils is parallel from the moreutils package

    If only moreutils has been installed, then /usr/bin/parallel is parallel
    from the moreutils package, and /usr/bin/parallel.moreutils is not
    available.


    This makes scripts depending on parallel or parallel.moreutils more
    brittle and error-prone between Debian installations then they need to be.


    I could not find any information if something like the following has
    already been proposed (and eventually rejected):

    moreutils should also provide /usr/bin/parallel.moreutils, even if gnu
    parallel is not installed(!)

    gnu parallel should also provide /usr/bin/parallel.gnu


    Those two changes would make it easier to avoid using the wrong parallel program by accident, and easier to use the right parallel program
    explicitly.


    If a program, for example, depends on parallel from moreutils, it needs
    to check if parallel.moreutils is available, if not verify if parallel
    is available and if it is, determine if it the gnu or moreutils version.
    With the proposed change, it would suffice to use parallel.moreutils
    directly.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Greg Wooledge@21:1/5 to Federico Kircheis on Sun Jun 1 20:10:02 2025
    On Sun, Jun 01, 2025 at 19:43:39 +0200, Federico Kircheis wrote:
    moreutils should also provide /usr/bin/parallel.moreutils, even if gnu parallel is not installed(!)

    gnu parallel should also provide /usr/bin/parallel.gnu

    I agree with you. However, in order to make anything happen, you need
    to file a bug report. Or rather, two bug reports, one for each of
    these packages.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anssi Saari@21:1/5 to Federico Kircheis on Mon Jun 2 15:30:01 2025
    Federico Kircheis <federico@kircheis.it> writes:

    I could not find any information if something like the following has
    already been proposed (and eventually rejected):

    moreutils should also provide /usr/bin/parallel.moreutils, even if gnu parallel is not installed(!)

    gnu parallel should also provide /usr/bin/parallel.gnu

    Currently gnu parallel calls dpkg-divert to rename the moreutils
    provided binary and man page, if present. moreutils needs to do nothing
    and nothing provides parallel.gnu. It's a simple case since apparently
    only these two packages provide the parallel command. This setup seems
    low effort for maintainers and low pollution for users. I certainly
    don't want both parallel and parallel.moreutils in /usr/bin. How many
    more files would need to be added in /usr/bin to satisfy all possible conflicts?

    I think you'll just need to add some tedious boilerplate code to your
    scripts to figure out which, if any, parallel is installed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jonathan Dowland@21:1/5 to Anssi Saari on Mon Jun 2 22:50:01 2025
    On Mon Jun 2, 2025 at 2:24 PM BST, Anssi Saari wrote:
    I certainly don't want both parallel and parallel.moreutils in
    /usr/bin. How many more files would need to be added in /usr/bin to
    satisfy all possible conflicts?

    What OP wishes for is a stable path to a moreutils binary, from one or
    the other package. They are not perfectly equivalent. Satisfying their
    wish doesn't necessarily mean adding more binaries to /usr/bin.

    It doesn't seem like an unreasonable request to me.

    I think you'll just need to add some tedious boilerplate code to your
    scripts to figure out which, if any, parallel is installed.

    I'd have faith that we could resolve this in the archive; although best
    case it would take some time for a solution to percolate through to a
    stable release.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Federico Kircheis@21:1/5 to Anssi Saari on Wed Jun 4 15:00:01 2025
    On 02/06/2025 3:24 pm, Anssi Saari wrote:
    Federico Kircheis <federico@kircheis.it> writes:

    I could not find any information if something like the following has
    already been proposed (and eventually rejected):

    moreutils should also provide /usr/bin/parallel.moreutils, even if gnu
    parallel is not installed(!)

    gnu parallel should also provide /usr/bin/parallel.gnu

    Currently gnu parallel calls dpkg-divert to rename the moreutils
    provided binary and man page, if present. moreutils needs to do nothing
    and nothing provides parallel.gnu. It's a simple case since apparently
    only these two packages provide the parallel command. This setup seems
    low effort for maintainers and low pollution for users.

    Do you know other packages that do something similar?
    What I've observed is that most packages use something like the
    alternative mechanism, and the different executable are still available
    under multiple names.

    For example cc / gcc / gcc-14.
    gcc-14 is always available (when you install gcc-14), you do not need to install another gcc compiler.

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