The DUB package manager

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Mon Feb 18 15:16:00 PST 2013


On Mon, 18 Feb 2013 15:17:05 +0100
"Dicebot" <m.strashun at gmail.com> wrote:

> On Monday, 18 February 2013 at 14:14:30 UTC, Dicebot wrote:
> > ...
> tl; dr: Care not about developer, he can adjust. Care about 
> end-user who has single OS and is forced to deal with miriads of 
> different package systems


First of all, I *am* thinking about the end-user. OS-based package
managers frequently *do* suck for the end-user:

http://cran.r-project.org/bin/linux/ubuntu/README.html

Look at all that idiotic bullshit the users have to deal with just for
something that *could* have been a trivial download/extract/run (Or an
even simpler "wget ... -O fetch-and-build.sh && ./fetch-and-build.sh").
And that page is *just* for Debian/Ubuntu.

And then there's stuff like this which isn't much better:

http://www.claws-mail.org/downloads.php?section=downloads

Secondly, where do you get that crazy idea that all end-users only
ever have one OS to deal with? ATM, I've got a couple windows machines,
a kubuntu desktop (old), and a debian 6 server. And that's not counting
VMs.

Other people have even more than that, and it doesn't help anyone to
have a totally different set of instructions for doing the same
damn thing each one. *I* can install any version of DMD I want on any
of my systems by doing this:

dvm install 2.0xx

Same damn task, same damn command, character-for-character, on freaking
everything. You're seriously going to try to tell me that's *worse* for
me than having to do it totally different on each system?

And finally, there's two types of users here, lib users and app users:

Libs: If they're interested in your lib, then they're already familiar
with the language's package manager.

Apps: If your user has to deal directly with any of the language-based
packager managers involved, then your buildscript sucks. But that's
just for actually compiling. If your user has to deal with any
language's package manager merely to *run* your app, then, well again,
then you're doing something wrong. (Such as maybe using Python: I'll
agree that Gem is fucking shit - more than half the times I've tried
to install something it would just vomit out a Traceback.)

Language-based package managers are a developer thing, not an end-user
thing. Even if your app is using a language-based packager manager,
that doesn't mean the end-user even needs to touch it directly.

>or, even better, binary bloat of 
> programs that try to ship every single dependency with it.

Right, binary bloat in this >1GB HDD age is sooo much worse than running
into unexpected version incompatibilities and conflicts.




More information about the Digitalmars-d mailing list