PDA

View Full Version : My Perfect Package Manager Would...



beastrace91
April 7th, 2011, 03:09 PM
Finish the sentence.

Anyone who has been in the world of Linux for more than a minute knows there is a good deal of choice when it comes to package manager. What is your package manager of choice and why?

Why do you prefer to use RPM/dpkg/apt-get/yum/pacman/emerge/<insert random package manager here> over others out there?

~Jeff

fuduntu
April 7th, 2011, 03:15 PM
Finish the sentence.

Anyone who has been in the world of Linux for more than a minute knows there is a good deal of choice when it comes to package manager. What is your package manager of choice and why?

Why do you prefer to use RPM/dpkg/apt-get/yum/pacman/emerge/<insert random package manager here> over others out there?

~Jeff

I prefer RPM, it's cleaner than dpkg, simpler to build and manage an RPM package, and it supports package verification flag (-V).

I wouldn't have a preference of apt over yum if apt supported the "whatprovides" function, but it doesn't so yum wins here. Unfortunately, yum execution is slower.

Lucradia
April 7th, 2011, 03:16 PM
Why do I need a perfect package manager when the current one I use works? For me, Synaptic and APT and whatever Package my distro takes are fine (DPKG, RPM, YUM, whatever.)

I don't need to be special.

beastrace91
April 7th, 2011, 03:18 PM
I don't need to be special.

It's not about being "special" its about continuing to improve upon our technology/software.

~Jeff

Lucradia
April 7th, 2011, 03:20 PM
It's not about being "special" its about continuing to improve upon our technology/software.

~Jeff

If it works, don't fix it?

beastrace91
April 7th, 2011, 03:24 PM
If it works, don't fix it?

Windows XP "works". Does it work well? No, but it works. That being said I did not post this to argue with trolls, so please if you are not going to contribute to the actual discussion please go be off topic elsewhere.

~Jeff

undecim
April 7th, 2011, 05:31 PM
I was actually thinking about this yesterday while trying to work through dependency hell for a compiled program. I've even thought about writing my own frontend to dpkg that would do what I want.

A few things I would like to see:


Concurrent downloads from multiple mirrors.
Easily configurable bittorrent/p2p downloading and temporary mirroring (e.g. so when I download a large game like Nexuiz and my brother wants to play it, too, it's easy for him to download the package from my computer on LAN; I know there are ways to do this, but the keyword here is "easy")
Installation while downloading (i.e. download the dependencies first. Install the dependencies while the main package is downloading)
Package "tiers". (e.g., main packages like GIMP, Firefox, etc. that the user would intend to install would be tier 1. High level dependencies and dev tools, like python and certain CLI tools are tier 2, libs are tier 3, core system is tier 4.) This way, I could view only Tier 1 packages to look for an application, tier 2 for dev stuff, etc. A package recommend or suggest would never automatically install a package from a higher tier.
Union recommends/suggests. Some packages only make sense to install when two other packages are installed. For example, a plugin to show your current rhythmbox song in pidgin only makes sense if you have those two installed. If you install 1, then when you install the second, that package should be a recommend or a suggest. Or, a package might be configured to automatically install iff it has a certain number of packages suggesting or recommending it.

mips
April 7th, 2011, 05:33 PM
be just like Pacman.

unknownPoster
April 7th, 2011, 06:32 PM
If it works, don't fix it?

One could argue that current package managers don't work. yum is fairly slow, apt's dependency resolution could be better, pacman doesn't have signed packages, etc. No software is or will ever be perfect, but why not try to improve it?

The moment you become complacent with current software is the moment innovation and improvements stop.

WRDN
April 7th, 2011, 07:10 PM
The main feature I would love to see in package managers is delta packages - this way, you only download the package difference, between your installed version and an updated version of an application. See Yum presto (http://fedoraproject.org/wiki/Releases/FeaturePresto) for an example of this.

LowSky
April 7th, 2011, 07:40 PM
yaourt... I like that I can type the name of a program and get a list of packages. Very helpful if you want to see add-ons available.

Simian Man
April 7th, 2011, 07:44 PM
The apt tools also have horrible interfaces compared to yum and pacman. The commands are harder to remember and the output formatting is awful. Yum is my favorite, it has a great interface, great feature set and is not that slow - though I wouldn't complain if it were faster :).

mamamia88
April 7th, 2011, 07:48 PM
be able to install all updates without breaking manually installed nvidia drivers

fuduntu
April 7th, 2011, 08:33 PM
The main feature I would love to see in package managers is delta packages - this way, you only download the package difference, between your installed version and an updated version of an application. See Yum presto (http://fedoraproject.org/wiki/Releases/FeaturePresto) for an example of this.

Yum has this capability today as long as the delta metadata has been created for the repository and is actively updated as packages are added changed and removed.

el_koraco
April 7th, 2011, 09:47 PM
The main feature I would love to see in package managers is delta packages - this way, you only download the package difference, between your installed version and an updated version of an application. See Yum presto (http://fedoraproject.org/wiki/Releases/FeaturePresto) for an example of this.

conary from rpath and foresight does this by default.

Simian Man
April 7th, 2011, 09:53 PM
conary from rpath and foresight does this by default.

Yum does in Fedora too since the Presto plugin has come default since F11.

el_koraco
April 7th, 2011, 10:06 PM
my bad, didn't even notice the last sentence.
well, maks sense, from what i've read, conary was envisoned as a yum clone, "rpm managing done right". haven't tried it yet, but the impressions i've been able to read are pretty good.

jerenept
April 8th, 2011, 12:42 AM
wget http://software-website.org/downloads/program.tgz
tar -xzf program.tgz
cd ~/program
sudo ./configure
make
sudo make install

Otherwise, portage (from Gentoo or Sabayon)

earthpigg
April 8th, 2011, 12:42 AM
this is a fantasy land question. so here i go, off to fantasy land.

...have all of the below be mostly pointy-clicky, like USC.

...be seamlessley integrated with the bittorrent protocol or similar.

...have a slider that i can set, to throttle my upstream to zero if i choose.

...have strong and barely moderated review process, like android market.

...also be integrated with relevant forums. google-like algorithms decide what threads show up, if the user has this enabled. (or, hell, just route it through a google advanced search.)

...allow sandboxed package installations. permanent GUI fakeroot. (so i can have different versions of the same package along with duplicate depends n levels deep, and compare and contrast them. if i choose. it would be nice if i could easily have firefox 4.0 with Sun Java alongside firefox 3.6 with icedtea. ditto for openoffice and libreoffice.)

...allow me to select how many levels of recursion i want to go with depends when doing the above.

...include an option to get as detailed and nitty gritty as synaptic gets, without having to quit software center (for example) and then start synaptic.

...seamlessley integrate packages of other formats and from other repositories either in or not in sandbox mode, if i choose. Arch Users Repo, for example, alongside CentOS repos. and in ultimate fantasy world: android market. (the sandboxing is pretty critical for this part of my fantasy-land.) the AUR was the best part of Arch, for me.

...keep track of when the last time anything accessed any part of given a package was.

...when a novice user first starts it, though, none of this is visible. it looks just as friendly as USC until you open the preferences.

galacticaboy
April 8th, 2011, 12:44 AM
A merge between apt-get and RPM.

beastrace91
April 8th, 2011, 01:02 AM
be able to install all updates without breaking manually installed nvidia drivers

That only happens when you change kernels... Just disable kernel updates.

Thanks for all the suggestions folks, some really good stuff here! Needless to say I have begun working on something with a small team :) Might be awhile till we have something to show for it, but we want to make we get it right before unleashing it into the wild!

~Jeff

earthpigg
April 8th, 2011, 01:06 AM
That only happens when you change kernels... Just disable kernel updates.

Thanks for all the suggestions folks, some really good stuff here! Needless to say I have begun working on something with a small team :) Might be awhile till we have something to show for it, but we want to make we get it right before unleashing it into the wild!

~Jeff

oh, i didn't realize someone was actually working on something based on this thread. lol. in that case, i shall prioritize:

-GUI sandboxing options.
-GUI options of installing packages from non-native-format repositories using alien or similar. I want AUR!
-Dynamically make various gnome themes available from various different websites appear in the package manager!

That last one isn't a huge game-changer, but it is probably the easiest to implement - having a documented accomplishment is great for a team's morale. I'd use it.

Zerocool Djx
April 8th, 2011, 01:18 AM
I could go with anything really,.. but I just wish there was one universal one. Like Windows had Zip for a while then RaR took over. RPM is pretty basic to use, but I still prefer tar. I guess it's about preference, but just as anything else with Linux, someone always has to be special, hence the million different versions of Linux Vs everyone working together.

juancarlospaco
April 8th, 2011, 01:34 AM
A merge between apt-get and RPM.

Thats already done a long time ago by Canonical and Conectiva.
Manage RPM and DEB, If you want to try:

sudo apt-get install smartpm

mamamia88
April 8th, 2011, 01:46 AM
That only happens when you change kernels... Just disable kernel updates.

Thanks for all the suggestions folks, some really good stuff here! Needless to say I have begun working on something with a small team :) Might be awhile till we have something to show for it, but we want to make we get it right before unleashing it into the wild!

~Jeff

but i like to have the latest kernel

beastrace91
April 8th, 2011, 01:56 AM
but i like to have the latest kernel

Then don't complain about kernel modules breaking when you change kernels. This has nothing to do with your package manager /offtopic

~Jeff

mamamia88
April 8th, 2011, 01:58 AM
fair enough

zer010
April 8th, 2011, 03:28 AM
I was actually thinking about this yesterday while trying to work through dependency hell for a compiled program. I've even thought about writing my own frontend to dpkg that would do what I want.

A few things I would like to see:


Concurrent downloads from multiple mirrors.
Easily configurable bittorrent/p2p downloading and temporary mirroring (e.g. so when I download a large game like Nexuiz and my brother wants to play it, too, it's easy for him to download the package from my computer on LAN; I know there are ways to do this, but the keyword here is "easy")
Installation while downloading (i.e. download the dependencies first. Install the dependencies while the main package is downloading)
Package "tiers". (e.g., main packages like GIMP, Firefox, etc. that the user would intend to install would be tier 1. High level dependencies and dev tools, like python and certain CLI tools are tier 2, libs are tier 3, core system is tier 4.) This way, I could view only Tier 1 packages to look for an application, tier 2 for dev stuff, etc. A package recommend or suggest would never automatically install a package from a higher tier.
Union recommends/suggests. Some packages only make sense to install when two other packages are installed. For example, a plugin to show your current rhythmbox song in pidgin only makes sense if you have those two installed. If you install 1, then when you install the second, that package should be a recommend or a suggest. Or, a package might be configured to automatically install iff it has a certain number of packages suggesting or recommending it.


^THIS ^.^d
It sounds like some great features for any type of PM, GUI or CLI. I'm just getting into Fedora so I haven't scratched the surface of yum/rpm yet so I'm still kinda partial to apt/dpkg...