Slashdot Mirror


Bundled Applications for GNU/Linux?

munehiro asks: "As an addicted GNU/Linux and Mac OS X user I recently tried to install binaries and libraries on a Linux box using an approximation of the elegant and clean approach known as the Mac OS X bundle (everything about each app or lib under a different directory) as opposed to the Linux standard approach 'everything under a common prefix' (normally /usr or /usr/local) with applications and libraries mixed in the standard subdirs bin, lib, share and so on, and found administration life much easier. What do other, more experienced readers think about the problems and improvements related to dropping the current Linux approach for a 'bundle-like' one in Linux distributions?"

7 of 148 comments (clear)

  1. darwinports by russellh · · Score: 2, Informative

    I think DarwinPorts is working on something like this. Unless I'm mistaken of course...

    --
    must... stay... awake...
  2. Try Gobolinux, or GNU Stow by forsetti · · Score: 3, Informative

    Gobolinux: http://gobolinux.org/
    Stow: http://www.gnu.org/software/stow/stow.html

    I think you will find that you are not alone ...

    --
    10b||~10b -- aah, what a question!
  3. Doesn't scale well by Anonymous Coward · · Score: 2, Informative

    For each application I would have to add an entry to
    PATH and possibly LD_LIBRARY_PATH, either globally or (even worse) in each user's profile file.
    With package management systems such as dpkg and rpm maintaining the /usr hierarchy, I don't think there is any advantage in moving each library/application to
    a different directory. There is even software available that will track where files are placed when locally compiled
    packages are installed. So, where's the advantage? I see lots of
    drawbacks and no real benefits.
    I generally follow the rule that software installed under /usr should be maintained entirely by the package manager; locally compiled software belongs under /usr/local.

  4. Re:Dupes in system...=space tradeoff by Bat_Masterson · · Score: 2, Informative

    You can have the best of both worlds with symbolic links. A tool like Pkglink can do most of the heavy lifting and also give you the ability to have multiple versions of the software installed.

  5. Re:GNUstep has, and always will, do this by Bat_Masterson · · Score: 2, Informative

    Of course, the problems with this is that, if everyone follows this approach, then PATH variables can become HUGE! Also, there can be unintended side-effects in the ordering of the PATH variable.

  6. It's a step backward by Khazunga · · Score: 2, Informative
    The Unix filesystem hierarchy has network maintenance taken into account. Having program 'bundles' may be great for a single workstation, but is hell for a network-wide system. The FHS explains this much better than I could, so please read the rationale there.

    Personally, I see this like going back to the DOS days. Linux/BSD have been dealing with shared libs in pretty sane ways. Although rpm is sometimes a pain in the butt, Debian's package system and Gentoo's Portage prove that dealing with dependencies automatically is feasible and confortable.

    And, anyhow, for special cases, you can always drop apps into /opt and get the equivalent of a bundle. Oracle does this, vmware does this, as there are countless other cases.

    --
    If at first you don't succeed, skydiving is not for you
  7. ROX by An+Audience+of+One · · Score: 2, Informative

    ROX (RiscOS On X) which has a filer, window manager and a session manager uses Application Directories taken from Risc OS. This sounds very similar to Apple Application Bundles.

    Installation is done by copying the directory, and the first time you run it, it will be compiled. You do have to run it from ROX-Filer for this to be supported (just double-click on the application directory), otherwise you have to run a script inside the directory.

    Recently ROX has combined AppDirs with the Zero Install installation method, which uses a caching-remote filesystem. You can run things direct from the server they are distributed on using a virtual filesystem which will locally cache the files.

    There are already a lot of applications written for this.