Autopackage Universal Package Manager 73
nanday writes "I currently have an article on Linux.com about Autopackage. Autopackage is developing a universal package manager for the GNU/Linux desktop, separate from the package management for the system. It includes installation for individual users, a lot of concern for interface design and documentation, and some ideas about the future of package management that are sure to raise some debate." From the article: "Besides ... technical problems, the Autopackage team believes that managing system and desktop software together is a mistake. It requires developers to pay attention to desktop applications that are of secondary importance to them, and confuses end users with problems about dependencies and upgrades." Linux.com is a sister site to Slashdot. (say that three times fast)
Great Idea (Score:2, Interesting)
Re:Great Idea (Score:5, Insightful)
Such a simple idea, such an absurdly simple idea. Yet it's one that 9 out of 10 distros just can't manage to get right. Building one library yourself should NOT break your entire package management system. A minor bugfix release to a library where no ABI has changed should NOT necessitate an update to every application that uses it.
Re:Great Idea (Score:3, Informative)
Re:Great Idea (Score:2)
But that's the whole point! 9 out of 10 package makers are lazy. While I don't agree that autopackage is the solution, they are correct in pointing out that there is a problem.
Not exactly loved by the distro people... (Score:5, Informative)
Re:Not exactly loved by the distro people... (Score:1)
Nor Slashdot... (Score:2)
Re:Not exactly loved by the distro people... (Score:2)
The biggest problem IMO is that their claim that "the Autopackage team believes that managing system and desktop software together is a mistake", this is just obviously wrong. Every Linux distro. is essentially component based, it's just not possible to say ok "here" is the line in the sand.
I'm just as likely to want to upgrade postgresql, as get "muine" ... and if I upgrade muine, what about my installed plugins? ... what about if I have a distro. muine installed and want a plugin that requires a newer
Re:Not exactly loved by the distro people... (Score:2)
The problem is that, unless you make a distinction between system and desktop, the user will be presented with a huge list with thousands of packages. If my dad wants to upgrade mune he really isn't interested in seeing glibc and qt in that list. It's more a user interface problem.
Re:Not exactly loved by the distro people... (Score:3, Insightful)
And you still have to solve this problem when I distribute an epoll using application to a system using a glibc that doesn't have the epoll symbol. And this is such an obvious UI issue, I dearly hope you have a better example
Re:Not exactly loved by the distro people... (Score:2)
In this case, yes. But usually this doesn't happen. Remember that autopackage targets desktop applications: i.e. the stuff that average users cares about, not server applications. I don't know many desktop applications that use epoll or other
Re:Not exactly loved by the distro people... (Score:2)
Re:Not exactly loved by the distro people... (Score:2)
Re:Not exactly loved by the distro people... (Score:2)
- We (= the distro guys) don't like proprietary software so its not our problem.
- We don't care about inter-distro compatibility. Not our problem.
- RPM/DEB rules all. Everything else is evil.
Really, we tried to negotiate. So far all attempts failed.
Re:Not exactly loved by the distro people... (Score:2)
Re:Not exactly loved by the distro people... (Score:2)
No. People are supposed to report bugs to us or to the upstream developers.
"What the user wants is something the distro tries to address- just because autopackage comes along and states their desktop orientated, in no way makes them better, nor worse then the distro's focus of full integration and packaging of software."
You are correct. But the fact is, distros can't package everything. If you look at Linux forums you'll see that pe
Re:Not exactly loved by the distro people... (Score:2)
- We (= the distro guys) don't like proprietary software so its not our problem.
And you can't see why? Proprietary software is a security nightmare because if you can't see the sources then you can't be sure of what the binaries are doing. Closed source stuff belongs in one place and one place only,
Re:Not exactly loved by the distro people... (Score:2)
Look at the post I replied to. "What if Adobe wants to distribute Photoshop CS on Linux?" And there currently is no alternative to Photoshop. If even mention Gimp, you'll be instantly flamed down by thousands of Slashdotters who say Gimp is nowhere near being able to take on Photoshop.
Or how about things like Flash? Or the NVidia drivers? No good open source alternatives.
But that aside, even assuming that there *are* good open source alternatives, you'll still have a problem because
Re:Not exactly loved by the distro people... (Score:4, Informative)
"To even unpack the package, you must run arbitrary code supplied by an untrusted source."
Untrusted source? Is the upstream developer an untrusted source? If he cannot be trusted, then why would one trust third party Gentoo packages?
"They install directly to the live filesystem."
We have this little feature called "installing to $HOME". It won't touch
"They do not support configuration protection."
We backup stuff if they're being overwritten.
"They can clobber arbitrary files on uninstall."
No proof. Bug reports please, because we sure haven't received any from our users.
"The entire format is completely unportable and highly tied to x86 Linux systems."
The reason why that is so is because none of the developers have anything but x86 systems. It's a bit hard to support PPC if we don't have such a machine, right? We already have some stuff in place to make sure x86 packages aren't executed on other architectures.
But that aside: let us go back to the original problem: software installation isn't easy enough for the average user. And what architecture does 99% the average user use? x86! Now there's the main reason why we focus on x86: because that's where our target group are! The software installation problem is pretty much unique to x86 Linux.
Non-x86 architectures are usually servers, not desktops. They don't need autopackage, so why should we worry about them? PPC users most likely use MacOS instead of Linux, so there's not much point in supporting that either.
As for joey's blog: the only thing he's complaining about is that at the moment you cannot programmatically extract files from a
Yeah I haven't replied to everything but you get the point.
Re:Not exactly loved by the distro people... (Score:4, Insightful)
Nobody wants that, but it's basically required. You can't solve the "I need to install mod_foobar, which requires Apache-httpd-2.2.0" problem without understanding what Apache-httpd is and what version you have, and how you get from here to there ... which requires a single way to query all software. This doesn't mean it can't be distributed, like DNS, just that you can't pretend you can have two roots and everything will be fine (or even blame those nasty root server operators for telling you otherwise when you try).
Say you're installing a GNOME theme, it's basically just XML+pngs ... then assuming the installer is secure, there is no reason you can't just install this "package" from anywhere and try it out. The same is true with installing backgrounds, or documentation etc. (think CIA. world factbook).
With aribtrary binary applications this is somewhat muddier, but there is still a deliniation between trusting the package and trusting the package installer (the later of which likely needs more privilages).
For instance "conary" is one of the newer package management ideas, and to them packages are basically just collections of files which are tagged (Ie. doc/bin/shared-library). Installing/removing a package has basically zero security concerns.
Re:Not exactly loved by the distro people... (Score:3, Interesting)
Not so with autopackage. You can run autopackages as user and install to ~/.local. You don't have to give it root access if you don't want to. And as autopackage is open source, you can check the source code for trojans. Autopackages are tarballs with a shell script header. Anyone can check the shel
Re:Not exactly loved by the distro people... (Score:2)
I mean inter-distribution binary compatibility issues. Do distributions deal with that? So far I haven't seen any distribution who cares about being able to run their binaries on other distributions, or vice-versa. If you know one please let me know and I'll applaud them.
Re:Not exactly loved by the distro people... (Score:2)
debians soloution to this is basically a combination of forced upgrades (when a package is built afaict it is automaticially made to depend on the versions of libs that were on the build system) and building stuff seperately on every version of the distro.
Re:Not exactly loved by the distro people... (Score:2)
Again, we know that and as we just said the fact that autopackage doesn't allow seperate privilages between the package and the package installer is a _bug_ not a _feature_.
Yes, well done ... in a few cases I might like to do that. However 99% of the time I'll want them outside my home dir. And that still doesn't excuse you from not seperating the package installer from the package. Again with a font/background/so
Re:Not exactly loved by the distro people... (Score:2)
Does RPM/DEB provide that seperation? Last time I checked (today), RPMs *must* be installed as root. As the preinstall and postinstall RPM scripts can do whatever they want, including rm -rf /. I also haven't found a way to install DEBs as non-root (on Debian and Ubuntu). Can dpkg prevent DEBs from wreaking havoc in pre- and postinst
Re:Not exactly loved by the distro people... (Score:1)
Then you haven't checked hard enough. You can create a user-level rpm database and use that to install as a user to a user-defined location. See the --prefix option; combine with --nodeps if you want to skip duplicating the system db.
As the preinstall and postinstall RPM scripts can do whatever they want, including rm -rf
See the --noscripts option.
Re:Not exactly loved by the distro people... (Score:2)
I know about that, but it isn't useful in practice. The fatal problems are:
1. The most important of all: programs packaged in RPMs are not designed to be relocatable. Path names for data file lookup are hardcoded into the binary. You can install RPMs to your home folder but
Re:Not exactly loved by the distro people... (Score:2)
It clearly isn't, as Windows and MacOS X - in fact, every commercial OS ever made - did not require the central repository scheme. They use things called "platforms" and we've been saying for a long time that Linux should have one.
Until then, autopackages - which are basically the binary equivalent of source tarballs with extra features - are the next best thing for end users who just want to click in a web page and get what they expect (as opposed to som
Re:Not exactly loved by the distro people... (Score:2)
Yes, they did it's just at the root of the repository was a large proprietary binary blob that couldn't be changed. And, yes I can see how that makes the incomplete solution easier ... but given that I can get complete solutions for less, I'll pass on your "next best thing".
Re:Not exactly loved by the distro people... (Score:2)
A Regression, Not a Solution (Score:1)
If you're really not interested in actually solving a problem, just say so. It's quite another thing to claim that real problems you have no intention of fixing Aren't Really Problems because your solution doesn't work for them.
Existing packaging systems Just Work for Linux PPC. Yours doesn't. How is that possibly an improvement?
Re:A Regression, Not a Solution (Score:2)
I don't say so, which means I AM interested in solving the problem.
"Existing packaging systems Just Work for Linux PPC. Yours doesn't. How is that possibly an improvement?"
Autopackage's goal is not to be "better" than RPM/DEB. Autopackage's goal is not to surpass current packaging systems in every way possible. Autopackage is not supposed to completely replace RPM/DEB.
Let us go back to defining the problem. The problem is: software
Re:Not exactly loved by the distro people... (Score:2)
Re:Not exactly loved by the distro people... (Score:2)
If a random guy from the street tells me my house is a fire accident waiting to happen, I might be curious and ask for reasons or just say "I don't think so" and ignore him. If a guy trying to sell me fire proofing comes up to me and says that I'm going to be very suspicious, and likely not believe him no matter my opinion. If the local fire marshal says it ... I'm likely going to believe him.
Thinking for yourself is all well and good, but when someone who knows what they are talking about says X then "
Re:Not exactly loved by the distro people... (Score:2)
Autopackage is used by high-profile projects like AbiWord, Inkscape and Gaim. Upstream trusts us. What do you think that means?
Re:If it's anything like automake... (Score:2)
Haven't we debunked this before? (Score:5, Interesting)
Right, and what exactly is autopackage going to do about these dependencies once it has found that they don't match up? Use LD_PRELOAD and have multiple copies of system libraries in place instead? Oh wait, autopackage is for "desktop packages only".
Of course, all of that isn't to say that autopackage may not do something useful in the future, but it sure looks like some of the fundamental problems of developing and distributing packages which other packaging systems have already dealt with still remain to be solved.
In any case, if you don't believe me, see what Scott Remnant has had to say on the matter (he's currently the dpkg maintainer, so he at least is passingly familiar with the issues surrounding a packaging format.)
Re:Haven't we debunked this before? (Score:2)
It's either a typo, or the writer of the article wrote the wrong thing.
If you install an autopackage as root, it'll be installed to
"Some package management systems may not do that, but at least they keep track of exactly which packag
Re:Haven't we debunked this before? (Score:2)
So autopackage will stomp all over the files installed by the distribution by default. Great to know. (What happens if it installs a version of a library that is ABI incompatible with a version that the distribution ships?)
Re:Haven't we debunked this before? (Score:2)
No. It will only do that if you want it to do that. Install to $HOME if you're paranoid, or tweak the settings to not default to /usr. /usr: because distributions don't support /usr/local properly. All kinsd of things won't work. Menu items, icons, dbus servers, you name it. More info here. [plan99.net]
- There's a good reason why we install to
- We don't overwrite glibc or gtk or any of your precious system components. Autopackages
Re:Haven't we debunked this before? (Score:2)
Perhaps that's your goal, but desktop apps are some of the applications with the most insane set of dependencies out there; it's definetly not unforseeable that your package will require a version of gtk that is slightly different from the version that is installed upon the system. [Worse, if it has the same soname but different API or ABI.]
Re:Haven't we debunked this before? (Score:2)
You are correct. We don't claim to solve *all* problems, but we do solve a great portion of them. We have received a lot of positive user feedback.
Then that library is utterly broken and must be fixed. We actively encourage developers to adhere to libtool version.
"This "solution" is to
Re:Haven't we debunked this before? (Score:2)
Did you miss the bit in which I said "As of autopackage 1.2, autopackage even refuse to install if there's already a native version installed." ?
But let us go back to the problem. The user has two choices:
1. Install an autopackage of FooBar 2005 (latest version), which overwrites the existing copy.
-OR-
2. Not being able to install at all, and having to wait 3 months for a native package to appear.
Which one do you think is the better
Re:Haven't we debunked this before? (Score:2)
Re:Haven't we debunked this before? (Score:2)
Re:Haven't we debunked this before? (Score:2)
Re:Haven't we debunked this before? (Score:2)
It may result in multiple libraries and wasted space but at least it can't confuse apt. Also the security concerns are addressed this way.
I really don't see why this isn't the default way to do autopackage.
Re:Haven't we debunked this before? (Score:2)
I don't know what you mean, as every time you install an autopackage, it asks you to enter the root password. If you want it to install to ~/.local, then just click "No Password" in that dialog. What is the problem?
Re:Haven't we debunked this before? (Score:2)
Also, maybe autopackage has been updated since I last used it, but I was
Re:Haven't we debunked this before? (Score:2)
All the complaints seem to come from power users who don't like the idea of a new packaging format. The inexperienced Linux users seem to love us, as can be seen from
Re:Haven't we debunked this before? (Score:2)
Yep
Re:Haven't we debunked this before? (Score:2)
If a required dependency can't be found the install fails, same as with a source tarball. It's the developers job to ensure their dependencies are reasonable and widespread: projects like AbiWord or Inkscape haven't had an issue with doing this. There are various techniques you can use like static linking obscure/rare/unstable libraries or using relaytool/dlopen to access features which
Yes, but... (Score:2, Funny)
Biting off more than one can chew? (Score:2)
It mostly works and it's available today.
Old Autopackage story, bleeding edge installs (Score:2)
Sounded sort of cool, but they always do. tar + gzip or tar + bzip2 is still the ultimate in packaging. I use Firefox on Slackware. What I end up doing is not installing the Firefox package that came with Slackware. It's difficult to update. Instead, I grab the latest tarballs of Firefox as they appear and install them manually in /usr/local. Configured my window manager with a button that points there. Of course doing it that way, the
Re:Old Autopackage story, bleeding edge installs (Score:2)
1. No desktop integration. Tarballs don't install menu items and icons for you to the right place. We do. We go into great length to deal with the myrads of different menu systems.
2. Binary compatibility. Tarballs are just that - tarballs. Part of the autopackage is research about binary compatibility. We figure out why binaries don't work on other distros, and try to fix that. Without a solution to binary compatibility problems, using any format is meaningl
Are people still using redhat? (Score:2)
The MacOS way (Score:2)
MOD PARENT UP (Score:2)
For example, I have Java 1.3, 1.4 and 1.5(5) all installed. Mono, GTK, Gnome libraries and similar things should also go in this place. If I need an app that needs the gnoem 2.12 libraries, I should be able to install them alongside the 2.10 libraries, but in a clean, modular way that can avoid dll hell.
Sounds good. The dinamic linker should be able to find and use the correct versioned files for the libraries, and gcc should be able to find the versioned include files/dirs too.
Re:The MacOS way (Score:1)
That's the part that drives me nuts! I've been spoiled by package managers for too long now and I can't bare the thought ot having to prance around the internet trying to hunt down the latest builds of the software I want/need. I never want to have to go to gaim.sourceforge.net, mozilla.com, gimp.org, or hunt around for a new bittorrent client.
THAT! feels like the iceage to me. That is
Re:The MacOS way (Score:2)
Re:The MacOS way (Score:2)
Re:The MacOS way (Score:2)
Somehow I don't think ubuntu can hold a candle to MacOS for her. Besides, MacOS runs so much nicer on her iBook than linux does. Which brings up another linux advocacy point. Sometimes we promote linux just to promote linux, even though it is not a good fit for some, like my sister.
I know this is crazy, but... (Score:2)
- compile the libraries in with the binary, leaving one binary and one conf file for each application
or
- keep the libraries seperate from the binary, but store a copy of whatever libraries the binary expects in its own folder (/usr/bin/foo/lib)
Disk space and RAM are both cheap. This kind of thing would suck on systems where resources are limited, but otherwise it would simplify things dramatically