• Hamartiogonic@sopuli.xyz
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    “The script accepts the name of a program or package as an argument when you run it. This value is then referenced as “$1” (argument number 1). Everywhere the script says “$1”, it substitutes in the name of the package you gave it. The end result is the name being tried against a large number of software repositories and package managers, and hopefully, at least one of them will be appropriate and the program will be successfully installed.”

    Source: explain XKCD

        • kevincox@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          The idea is that only one will succeed. Look, it is a comic not a production-ready solution.

          • whoisearth@lemmy.ca
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Ignoring you’re right there are plenty of instances where a common name would carry over multiple install options.

            What I’d rather is to allow two parameters. The tool should be included as well as the package so ‘install apt openjdk’ or ’ install npm yarn’

            Of course the problem then becomes a lot of these install apps have their own set of parameters.

            Now I’m curious if anyone has written a universal installer.

            • kevincox@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              1 year ago

              You are missing the point. The author is satirizing the fact that there are so many tools and patterns that do basically the same thing. The author doesn’t want to bother figuring out what installation method this particular tool recommends. So they have this script so that he can run geterinstalled inkscape and let the computer figure out which one works.

              If you were going to write geterinstalled pip foo you may as well just run pip install foo.

              Also note the title-text, which addresses this exact issue:

              The failures usually don’t hurt anything, and if it installs several versions, it increases the chance that one of them is right. […]

              https://xkcd.com/1654/

              • whoisearth@lemmy.ca
                link
                fedilink
                arrow-up
                2
                ·
                1 year ago

                Not missing the point. I know it’s satire. As a thought experiment it got me interested though nothing more.

            • zwekihoyy@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              I’ve been working on one for a minute but the best solution I’ve come up with is searching every package manager when search is invoked but otherwise requiring the package manager to be declared via pkgman.package for installs/removes etc.

  • taanegl@beehaw.org
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    1 year ago

    Microsoft: “winget!”

    Nobody asked you, Microsoft. Go back to making compact nuclear reactors, because honestly that’s based AF.

      • taanegl@beehaw.org
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        Yeah, but it’s also a Windows exclusive - so it’s just usable on the Windows platform, but it’s a package managed for windows! winget install gimp.GIMP installs gimp, no browser necessary =)

        Check the link though. Microsoft might pull a sneaky in the future. “All Winget packages will be bundled with telemetry for security” or something like that.

  • mogoh@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago
    flatpak install "$1"
    snap install "$1"
    appimage-cli-tool install "$1"
    
  • utopiah@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Unless you have a pretty exotic architecture, i.e neither x86 nor ARM, then arguably Docker “should” be “enough”.

  • Sentientted@monero.town
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I am not the most experienced by any means, but wouldn’t it be better to run it with a “;” in the spot off all of the “&” so that way if one of the commands fail it doesn’t stop mid script?