Slashdot Log In
OpenPKG 1.0 Released
Posted by
michael
on Fri Jan 11, 2002 09:42 AM
from the dependencies dept.
from the dependencies dept.
Ralf S. Engelschall writes: "I'm proundly announcing today the release of OpenPKG 1.0,
the world of cross-platform RPM-based Unix software packaging. A flexible and powerful software packaging
facility, OpenPKG eases installation and administration of Unix software across several
platforms. It primarily targets the Unix platforms FreeBSD, Linux and Solaris, but is
portable across mostly all modern Unix flavors. OpenPKG was created in November 2000 and after
over one year of development it is already a mature technology in production use. It is
available as Open Source and is further maintained by both my development team at
Cable & Wireless Germany and our contributors. For more details visit
openpkg.org and
ftp.openpkg.org."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

COOL! (Score:1)
Whilst Solaris does have package management, it's not as good as RPM.
Of course, now all you have to do is convince sun to support it
Congratulations Ralf. (Score:5, Informative)
http://www.openssl.org/ [openssl.org]
http://www.modssl.org/ [modssl.org]
To say a few.
He's the guy that wrote mod_rewrite back in the old days. Tough guy.
Re:Congratulations Ralf. (Score:4, Insightful)
What *I* want (and yes, I am coding this myself) is a system that only knows as much as necessary to get the package from its original source in the rawest form available. Then the system takes the package and builds/installs it using a user account set aside for the purpose of installing non-base software.
Optimally the package system will help the user write a shareable makefile of sorts and save/share that with other systems that user has and with other users. Then, once the build is done, you zip the build directory back up so that if you should need to work with them again the whole mess is handy.
At its very best the package system recognizes source sources such as tarballs via FTP and HTTP, but also CVS. And finally some hooks to external information sources (announcement lists, a central log of known changes) so that the user can be alerted to potential upgrades, bug fix releases, and security patches.
One thing I don't like about RPM/.deb/etc is that they rely way too heavily on a database of what is installed to determine what they will install next. If I don't package my "found" software using the package system, this causes RPM/dpkg to start complaining about stuff it doesn't have that I know it does.
Congratulations, ichimunki (Score:5, Informative)
hmm... (Score:2)
In other words, I can burn openpackages to a CD, and install the same packages in BSD, Redhat, and Suse?
Re:hmm... (Score:5, Insightful)
First off, no this will not work. Due to different system calls, C libraries, different architectures (CPU etc), etc etc packages will never be that portable. Java and other (supposed to be..) cross-platform type programs might have a chance, but normal applicaties will not be.
So, if a 'package' is not portable, what good will this do me then, you might wonder? Well the thing is, that previously, you had to make a different 'build and package tool' implimentation for every platform you want to compile your program on. pkg/ports stuff on BSD, other pkg stuff on solaris, apt on debian, rpm on redhat & other linux's.
So this is where OpenPKG comes in. You only need to write the 'build and package tool' implimentation once (a so called
(resulting in a binary usable for only that platform).
This makes cross-platform/architecture distribution a lot easier, and a lot easier to maintain.
Time loss (Score:4, Flamebait)
Why not just port and use dkpg, apt and associated tools? They were all created to be portable, and are indeed already used in http://fink.sf.net./, http://debian-cygwin.sf.net./ and the like.
Re:Time loss (Score:5, Insightful)
Re:Time loss (Score:4, Insightful)
My point is that
I have nothing against debs, I like them. I use Debian a lot. I like it. But there really is no point in advocating that everybody should switch to debs, because it isn't going to happen.
Re:Time loss (Score:4, Insightful)
Re:Time loss (Score:4, Informative)
For the (hopefully) last time: APT HAS NOTHING TO DO WITH THE PACKAGING SYSTEM other than requiring the package system to know about dependencies. APT works just fine with RPM, just as it works fine with debs and I see no reason why it couldn't work with OpenPKG.
Uses separate RPM repository, no NLS (Score:4, Interesting)
Also, I thought it interesting that they favor English as the only language used on Unix machines, and chose not to include NLS support in OpenPKG. And they're not even Americans!
Why RPM ? (Score:1)
My personal experience is
RPM = headache.
APT = a lot of relieve.
mjander.
Duplication of Effort is *Okay* (Score:5, Insightful)
It's *good* that there is more than one way to do it. I'm glad that open source not only provides for the possibility of multiple approaches (the built-in allowances for forking), it has a long history of such.
Don't like sendmail? Write a different mailer, and perhaps like postfix it will become popular. Think that the available desktop managers were built wrongly? Try coding one using your preferred approach. Having diverse solutions can help improve them all, as features from one program are pulled into others.
The OpenPKG folks saw a need and decided to base their solution on RPM. You may not think that was the wisest choice, but they get to choose where they apply their effort. There is no One Approach to bind all open-source programmers, no One Application in any given niche to which all should contribute. One of the beauties of OSS is that I can choose where I wish to contribute.
From the faq: (Score:3, Troll)
I dont know about you but that doesnt really inspire a lot of confidence in me. Essentially this reads to me like they wanted to quickly extend an inferior package management system. *shrug*
RPM?!?!? (Score:1)
come on.. who doesn't like configuring/compiling... it's the best way to install a program... you customize towards your preference... if anything at least use ports instead of RPM
RPM's (Score:2, Insightful)
I guess people prefer package managers to tarballs. And I guess RPM is the most popular PM and that is why they have chosen to do it. Mircosofty? Possibly/Probbably - good? that remains to be seen. I think I'll let other people try it before I infect my system with it ;-)
Incidently, does anybody think it strange that when we create something not Microsofty it slowly becomes Microsofty?
Why settle on one package format? (Score:1, Interesting)
It's too bad (Score:4, Informative)
The other road is to develop a meta-package system which "wraps" the existing native package system. This ensures the two package management systems don't stomp on each other, and allows you to interoperate with the native package management system (Sun's pkgadd, HP's depot, SGI's inst, etc). As many of us know it can get extremely ugly when a package management system starts getting out of sync with what is actually taking place on a filesystem.
To put in a shameless plug (I'm only a customer) for some very cool quasi-commercial effort in this area, we use software packaged by The Written Word [thewrittenword.com]. (yeah, strange name). Their software is of the latter philosophy.
I say quasi-commerical because while they sell distributions packaged on their tools for profit (and provide support and updates for their software by subscription, allowing me to concentrate on my normal duties, not worrying about recompiling this and that when the latest exploit comes out) they are actively involved in open standards-based efforts to develop a true cross-platform open package management system. And by my understanding are committed to switching their system to an open standard once it is standardized and of a sufficient functionality.
Either way, as Debian users know, the important part is not that you pick a good package system. The important part is that you pick a system that is well maintained, so when the next fix for exploit comes out you know that within a short period of time you can run {apt-get,pkg-inst,whatever) and get a working fix installed.
The biggest problem with many of the other package systems out there (Sunfreeware, Red Hat Contrib) is not that the package system is necessarily bad, it's the fact that the people don't maintain the packages. They're either woefully out of date, or compiled with beta snapshots of gcc or libc, have incorrect or missing dependencies, or simply haven't been tested.
Too little, too late (Score:1, Insightful)
The problem with this... (Score:4, Informative)
RPM's source-centric view (where you have to rebuild everything from scratch all the time, making development of the initial distributions extremely time consuming) is also a major problem, because a lot of packages take a long time to compile (we have one that takes several hours on older hardware), and you may be testing fixes, etc. that only affect a single executable in your package.
Anyways, for people that want something a lot more portable and flexible, see my (also free) EPM software at "http://www.easysw.com/epm/". It does native RPM, DPKG, *BSD pkg, System V pkg, IRIX inst, HP-UX swinstall, Tru64 setld, and AIX installp packages, or so-called "portable" install scripts with tar files, all from the same software description/list files. Utilities are provided to automate the building of the list files from already-installed files/directories (the classic RPM BuildRoot stuff) or by intercepting "install" commands, making it very easy to create and/or maintain them.
Sounds a lot like "openpackages" (Score:1)
openpackages "the new standard for open source binaries"
http://www.openpackages.org
I'll never tourch RPM again if I have too (Score:5, Insightful)
Since FreeBSD can run the huge majority of linux applications that I need/want, i have no need to get into RPM-hell again.
If I need to upgrade a system I use cvsup to apply the necessary patches to my source tree and make the world. If I want to update applications, I cvsup my ports tree and run portupgrade. There's nothing easier and it's very rare anything goes wrong.
So, why build this OpenPKG thing in the first place? VC money down the tubes. I'll keep my ports and packages, but I'll never run RPMs again.
Why RPM? (Score:5, Insightful)
Last week, I tried FreeBSD for the first time. I was very impressed with the ports tree and pkg_add.
What would be the compelling reason to use openpkg on systems with package managers better than RPM?
FreeBSD pkg_add (Score:5, Informative)
pkg_add -r gnupg
for instance and the binary package gets automatically ftped down, unpacked, and the pieces installed to the correct locations. With thousands of FreeBSD ports already set up, why should I or anyone switch to this new system?
But I thought.... (Score:1)
Can anyone summarize how this differs from RPM? (Score:2, Interesting)
With RPM, I have a single source RPM, and can build that to create a binary on (theoretically) any architecture (assuming my spec file, etc, take quirks into account.)
Oh, I see that OpenPKG offers a way to download a file and install it, without explicitly already having RPM on your system. Nice but I'm sure there are more perks I'm missing, otherwise this just looks like a rebranded RPM to me.
Enlighten me, please.
Cross-platform? (Score:3, Insightful)
To me, true cross-platformness includes the ability to run on AS/400s, S/390s and VMS. Like emacs or slickedit or... perl?
John.
I'll stick with source thanks (Score:1)
Wrong comparison here (Score:1)
This program takes an _already downloaded_ RPM (that's right, just _one file_, at least at once), and then installs it. It doesn't search a centralized ftp for the RPM and then install it.
The real complaint (which wouldn't have had anywhere near the same oomph) should have been:
"Why did they choose RPM over dpkg?"
(Which is only natural because very few people download a .deb and then install it with dpkg)!
Has anyone actually read their documentation? (Score:4, Informative)
All-leveling Installer (Score:1)
Already being done (Score:1)
At first I thought that this was an announcement of that, but now I know that this is a seperate project with different goals.
Stupid, stupid rat things! (Score:2)
Mind you, using the RPM system is pretty self-defeating too.
TWW
Is this open source - or an ad? (Score:1)
let's not forget Gentoo (Score:2)
Gentoo Linux (http://www.gentoo.org [gentoo.org]) is building a ports-like tree called Portage, based on Python rather than a mix of Makefiles and shell scripts. It combines the features of cvsup (actually, it just calls rsync; the command to update the portage tree is "emerge rsync"), make install (emerge blah.ebuild) and portinstall (emerge blah/blah). Soon, emerge will have the equivalent up portsupdate.
The system can install source, create bzip2'd tar packages, or, as an option. RPMs.
Crossplatform, I think not... (Score:2)
cross-platform RPM-based Unix software packaging.
crossplatform: [dictionary.com]
software, hardware> A term that describes a language, software application or hardware device that works on more than one system platform (e.g. Unix, Microsoft Windows, Macintosh). E.g. Netscape Navigator, Java.
Using buzzwords, is great and everything if you're a marketing droid, but lets try to be a little more precise among ourselves.
I'm not trying to belittle this accomplishment, and I'm sure it is quite valuable, although I personally would give up apt-get only at gun point and to call something crossplatform that only really ones on one 'platform' is silly.
You know what would make RPM so much better (Score:1)
I mean, how hard is it to add a nightly cron task (similar to locate) that would make an inventory of your files/libraries that RPM could use for dependacy checks?
Also this would make RPM cooperate nicely with other package systems..The point is, RPM shouldnt care where the files came from, just that they are there.
Microsoft is moving to MSI (Score:5, Interesting)
The one true package format: setup.exe
I assume you refer to the standard name of a Windows installer program. Those may become obsolete, as Microsoft and other vendors shift to .msi packages that use the Windows Installer [a-softtech.com].
Re:Yet another package management system? (Score:2, Insightful)
Isn't that what open source software is all about? Just as in commercial software, a bunch of different groups work on the same thing in the attempt to be the best, most widely adopted, and thus the standard?
In commercial software, the development and marketing effort goes on only as long as the company can afford it, but in open source it can go on forever as people work endlessly on different versions of the same software that nobody will use! That way you can be forced to have all of the different package managers installed (and keep them updated) so you can use the various software packages you might want to download!
Re:Sounds neat (Score:1, Redundant)
Re:Sounds neat (Score:5, Insightful)
The key is to get your packages from one source, where all the binaries are built relative to the other packages in the repository so that the dependancy names and versions are uniform throughout your system. This is what debian does better then everyone else. It has nothing to do with the DEB format, and it has nothing to do with apt either.
Re:Sounds neat (Score:2, Informative)
errr, compare citrus to citrus, chum: RPM is to APT as .deb is to (e.g.) gnorpm -- .rpm and .deb are package formats, gnorpm and apt are tools for managing those packages (and IIRC one can now use rpms with apt -- Linux Mandrake?)
APT is a tool for managing DEB packages, it is not a packaging format itself.
don't be spreading misinformation ... makes you look ... well, like someone you wouldn't want to look like.
Re:the essential question: (Score:1)
The answer is that if this standard package format were usable under Mac OS X as well, then it would increase the number of platforms a developer could distribute packages for using the same package system. Making that part easier for developers means Mac OS X users might get more software packages in an easy-to-use installer archive format rather than extracting from