Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
BSD Operating Systems

The BSDs Need A Unified Package Collection 15

qbasicprogrammer writes "Chris Coleman wrote to Daily Daemon News suggesting a unified package collection. Currently OpenBSD, NetBSD, and FreeBSD maintain separate ports/package trees. Chris points out the various BSD package collections all carry different versions Mozilla; a common ports system would certainly benefit everyone."
This discussion has been archived. No new comments can be posted.

The BSDs Need A Unified Package Collection

Comments Filter:
  • While a nice idea, i'm not sure how practical this would be - you can just imagine someone at Free insisting that a network daemon that automates the process of firing off P3 serial numbers to intel goes into the ports/packages tree, the guys as Open freaking because it presents a remote root exploit as the code hasn't been thoroughly audited and the Net people demanding versions that emulate the P3 serial for other architectures :)

  • by Zach Garner ( 74342 ) on Wednesday August 16, 2000 @05:29AM (#851435)
    I basically agree with the comments at Daemonnews. It is a really good idea. But there are a number of technical reasons: all three BSD's use a relatively different make system, they all have different goals in ports (Freebsd would want them quicker, NetBSD would want them more portable, etc) and a number of programs will have to have a lot of work done to run on some of the BSD's (Mozilla doesnt run on OBSD yet, applications that are linux-emulation dependant like MpegTV will run on FreeBSD but your chances are much less on the others).

    The main problem is communication between developers. I doubt ANY of the BSD will make the effort to start this. The only way to do it is to have a group of people who are familiar with the ports systems of the respective bsd systems, BUT that doesnt hold any strong arogance towards a specific BSD. The project must be done independantly and not tied to a specific BSD. This would make a common ground for the BSD's to go to. Maybe even related to Freshports.org? I've only been there once... it seemed very useless to me since i do not run FreeBSD, but if they were to start working on an independant ports system, it would be nice.

    And finally... Speaking of Mozilla in OpenBSD: I'm trying to help out with this as much as possible. Bug #49036, I think, is for the bug that causes the segmentation fault on startup for OBSD users. I submitted it, but i'm pretty much a newbie, so any comments on that would be great. Also bug #44301 is an attempt to get OpenBSD and NetBSD listed in the Operating Systems area of Bug Reports (have to use Other right now). Vote For This! Please people, the only way we will see a stable, working Mozilla for the BSD's is to help out with the project. It only takes 5-10 minutes on a dialup to update the source (after initially getting the repository) on a dialup. Building does take a while, but Come On! If anyone wants to discuss this or needs help starting, i'm usually on irc.mozilla.org as "semaphore" or you can email me.
  • I don't see how the BSD camps need a unified package format any worse than the Linux distributions do.
  • They don't. What the *BSDs first need is a package system as functional as any of the Linux ones. The *BSD port tree isn't a bad idea, but it lacks so many basic features (upgrading installed ports, for example) that it's relatively worthless anyway.

    Umm.. In FreeBSD there are packages. (From what I know they are similar to Solaris packages).

    Yes, there is no clean/simple way to do upgrades (I definitly belive that is a hinderance).

    but then again, installing from source is the same way (right ?).

  • Well, I think it should be just as simple (ok, nothing is ever as simple as it should be) as having $OpenBSD_Port = no. And when OpenBSD goes to ship, it filters out all the "$OpenBSD_Port=no" Ports.

    And there will be the case that there are NetBSD Specific patches that FreeBSD doesnt want to accept, those would need to be #ifdef'd too. It would be a lot of work... but the more i think about it, the more i think it would be worth it...
  • by PerlStalker ( 157891 ) on Wednesday August 16, 2000 @10:14AM (#851439) Homepage
    I'm all for the unified ports collection. I think that it could be done using the macros etc. described in the comments at daemonnews or something similar.

    The catch is, as posted at DN, is that I don't think that any one of the BSDs are going to start it themselves. (BSDi might try, if for nothing else but the publicity.) I agree with one of the previous posters, it will probably need to be an "independent" group working on a "limited" number of ports. If that group can prove that what it comes up with works, then it would be easier to convince the ports maintainers to adopt the system and WHAMO! we have a unified ports collection.

    Regarding concerns about the different focus of each BSD, a system can be developed the will allow an admin to configure the ports to do what s/he wants.

    It was suggested elsewhere that a NOT_AUDITED flag could be used for those packages that are not audited for security. However, even OpenBSD doesn't audit their ports collection.

    From the OpenBSD website: "The ports & packages collection does NOT go through the thorough security audit that OpenBSD follows. Although we strive to keep the quality of the packages collection high, we just do not have enough human resources to ensure the same level of robustness and security."

    The NetBSD crew can have a flag like PORT_UNTESTED to say that the package has not been tested to run on every platform.

    Something can be done with each of focus that will allow an admin to say "I only want security audited programs that can run on everything NetBSD can."

    Developers/maintainers can add a flag to the packages like BUILT4_FreeBSD or BUILT4_RHLINUXEMU so admins can configure their setup to not build anything that doesn't build for their platform (of flavor of Linux Emulator.)

    If you want to get something like this started, let me know. We can try to organize something and invite some of the ports maintainers from all of the BSDs. Let's not let a good idea disapear because no one did anything.

    PerlStalker
  • Its not about Package Format (as in RPM or .deb), its about the collection of patches that the BSD people add to get non-portable software working on their systems. Currently each BSD maintains a seperate collection of those patches plus description's of the package, SHA1 sums, master file repositories, author, license, etc for their Ports (i.e. seperate Ports Trees). There is a lot of duplication between the ports tree's. Its not uncommon to find that a FreeBSD port works fine on OpenBSD (although it may not be in the ports tree).
  • there is a package system for FreeBSd. As for upgrading ports, usually it is simply a matter of cvsup'ping your ports collection and then remaking and installing it. The ports collection does much more than packages do. Can a package install dependencies? Can a package download everything you need for you?
  • ...the guys as Open freaking because it presents a remote root exploit as the code hasn't been thoroughly audited...

    I don't think you grasp the idea of the ports collection: it's intended to allow people to download pristine source, and then automate compiling it for your system (or, in some cases, pristine binaries :( ). The OpenBSD people don't audit ports code (or at least they don't require it be audited, although it's encouraged). NetBSD people don't, so far as I know, insist that their ports work with all architectures (at least not if they have any binary ports [Communicator, for instance] like OpenBSD does).

    The ports are the one area it seems the BSDs are all together -- united against external code :-)

  • NetBSD can upgrade installed ports. It's called 'make update'. it updates the current pkg and all the packages that depend on it. the only linux packager I know that does this is debian's apt (or whatever it's called.) I'm sure {Free,Open}BSD have this feature too...

  • On openbsd, a pkg_add will add dependancies if they are in the working directory or in /usr/ports/packages.

    I think the previous poster was refering to what will happen if you try to do a pkg_add foo-2.0.tgz when you already have foo-1.0.tgz installed. Another problem occurs (if i'm not mistaken) with Flavors on OpenBSD (like php3, php3-mysql, php3-mysql-ssl).
  • Just like pkg_add -r on FreeBSD. Minus the fact that they obtain the location of packages in different ways, it's superficially the same.
  • The ports collection does much more than packages do. Can a package install dependencies? Can a package download everything you need for you?

    Yes. Witness the Debian APT package tool. You specify a package to install and it automatically fetches all dependencies.
    When upgrading it also upgrades dependencies if needed.
  • >The only way to do it is to have a group of
    >people who are familiar with the ports systems of
    >the respective bsd systems, BUT that doesnt hold
    >any strong arogance towards a specific BSD. The
    >project must be done independantly and not tied
    >to a specific BSD.

    I saw something here a few months ago about some Debian folks playing with the idea of a ports infrastructure for Debian... Might as well put them into the Grand Unified Ports Project too.

    That's the whole thing, finding a bunch of people with a) the technical know-how, b) the time, and c) the diplomatic skills to pull this off.

    Testing would be a cast-iron bitch: I can only imagine what could go wrong on all of those OSs and platforms.

    I hate to sound cynical, but this is going to be one of those really good ideas that comes up every 6 months or so and dies down again because nobody is ambitious (crazy?) enough to tackle it.

    (I'd love to be proved wrong, though.)
  • It looks like the project may be already on it's way, according to one OpenBSD Journal Poster [deadly.org].

    As follows...

    Chris Coleman chrisc@vmunix.com says:I" have registered bsdports.org. Now I will be taking applications to work on the project.

    If you have CVS access to an existing BSD ports/pkg_src tree, it will be summarily granted.

    If you wish to donate resources to the project, please contact me. I see this as a community effort."

Your password is pitifully obvious.

Working...