Opened 6 years ago

Last modified 5 years ago

#10739 new enhancement

Change user app install directory in Haiku Depot

Reported by: ddavid123 Owned by: stippi
Priority: normal Milestone: R1
Component: Applications/HaikuDepot Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All


Currently Haiku Depot installs user installed apps to '/boot/system/packages'. Before Package Management was merged, the user could install Haiku over the previous install and only the 'System' directory was a fresh install. Now that all the apps are installed to '/boot/system/packages', user installed apps get wiped when Haiku is re-installed!

There is a need for a separation between the system packages and the user installed packages! I propose that all user installed apps be installed to '/boot/home/config/packages' and virtually extracted to '/boot/home/apps'. Then Haiku Depot could create symlinks of the installed apps to /boot/system/apps.

If Linux or BSD's distos do not have user apps installed to '/bin', or '/sbin' for good reasons, then why would Haiku (which is a single user OS by the way) install apps into the system directory? Never mind the extra work that the user now must go through to reinstall their apps (which can take a long time on slow dsl or dial-up): another concern that I have is potential flaws and bugs in PM and Haiku Depot that can pose great risk to the integrity and security of the system!


Change History (3)

comment:1 by bonefish, 6 years ago

Component: - GeneralApplications/HaikuDepot
Keywords: HaikuDepot Package Management removed
Owner: changed from nobody to stippi
Priority: highnormal

The user can already install packages in /boot/home/config/packages (they'll appear in /boot/home/config/apps). I'm not up-to-date what the current state of HaikuDepot is in this respect; the feature may yet be missing. The command line pkgman does support installing in home (option '-H').

That being said, the old method of updating your system by replacing the /boot/system directory will be replaced by a package management assisted one -- i.e. you will just tell the package manager to update the system and it will replace just the packages, global configuration files (as needed), etc. User installed packages -- if they come from a configured repository -- will be updated as well.

comment:2 by stippi, 6 years ago

I think installing for all users by default, if you have the rights to do that, is not such a bad idea. The meaning of the system directory has simply changed: It has been merged with common directory and now contains system files and files supposed to be shared by all users. Therefore I think what Installer does, simply wiping that folder, is not what it should do anymore to get a "clean" installation.

I think before deciding which component is doing something wrong, we should decide where non-system packages should be preferrably installed. There may be reasons for always installing in the user folder, but I don't think those are the reasons given in the ticket description and would like input from others.

Also, there is no clear distinction anymore between what is a system package and what isn't. Haiku itself comes with a lot of third-party code, which is also now installed in system and was previously installed in common.

Additionally, a new version of Haiku may include some third-party code which it didn't previously include, but which the user installed. I would expect that user installed package to be upgraded by the install. And also I wouldn't expect it to break things when its installed in the user folder and takes precedence.

So this all isn't so straight-forward to decide.

comment:3 by pulkomandy, 5 years ago

Milestone: R1/beta1R1

With system updates working using pkgman now, there is no need for this in beta1. Removing from milestone.

Note: See TracTickets for help on using tickets.