Re:Announcing the new Rust package manager, Cargo
by gkya on Tuesday March 18, 2014 @08:54AM
(#7421550)
Package managers make everything way more complex than they are supposed to be. I see package managers as a component of an operating system. The proper way of packaging software source is having it contained in a directory tree with one, public build script (a Makefile, a shell script...) at its root. One or many build artefacts are generated, which at user's disposal.
With language specific build systems, this process gets more complicated. They disallow the user to arrange their source tree the way they want, customise the build process, and make the whole thing as convenient as running make, or e.g. ./build.sh. Provided a conventional compiler command (e.g. the cc interface), it is easy to create a Makefile that exploits it.
I have had a lot of confusion with Go compiler, when I tried to build and use a checked-in, external package. Python's pip is quite complicated. Cabal, can easily be replaced with a bunch of Makefiles. Binary packages can be supplied as [tar/zip] archives, and users would eventually package them for their OS. Also, most these package managers are exploited for installing applications, which is problematic.
I have not used Rust, but I will try it out. The package manager, though, is not just a bad idea, but also an inconvenience.
With language specific build systems, this process gets more complicated. They disallow the user to arrange their source tree the way they want, customise the build process, and make the whole thing as convenient as running make, or e.g. ./build.sh. Provided a conventional compiler command (e.g. the cc interface), it is easy to create a Makefile that exploits it.
I have had a lot of confusion with Go compiler, when I tried to build and use a checked-in, external package. Python's pip is quite complicated. Cabal, can easily be replaced with a bunch of Makefiles. Binary packages can be supplied as [tar/zip] archives, and users would eventually package them for their OS. Also, most these package managers are exploited for installing applications, which is problematic.
I have not used Rust, but I will try it out. The package manager, though, is not just a bad idea, but also an inconvenience.