Opened 7 years ago
Last modified 2 years ago
#13780 new bug
Installing package with a "servers" file (replacing the "servers" directory) will freeze the system.
Reported by: | pulkomandy | Owned by: | bonefish |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Servers/package_daemon | Version: | R1/Development |
Keywords: | Cc: | ttcoder | |
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
The BRexx package (recently added to eu.hpkg repo) comes with a server. Naturally it is added to the "servers" directory.
Installing this package will freeze Haiku (no matter if using pkgman or haikudepot).
Change History (9)
comment:1 by , 7 years ago
Description: | modified (diff) |
---|
comment:2 by , 7 years ago
comment:3 by , 7 years ago
Well, the system should not freeze no matter what happens, so we should fix that bug.
comment:4 by , 5 years ago
- The package creation should not allow files in the package to overwrite system directories at all.
- Activating a package should also surely ignore those and complain to the user.
- Even if 1 and 2 were not done, as waddlesplash says, it should not lock up the system.
I may look at this while checking out package stuff.
follow-up: 6 comment:5 by , 5 years ago
The package creation should not allow files in the package to overwrite system directories at all.
This part was already done last year (by me) as part of a fix to a different ticket -- nodes (i.e. files and directories) from packages with the "system package" flag set now have precedence over any and all other package nodes.
follow-up: 7 comment:6 by , 5 years ago
Cc: | added |
---|
Replying to waddlesplash:
This part was already done last year (by me) as part of a fix to a different ticket -- nodes (i.e. files and directories) from packages with the "system package" flag set now have precedence over any and all other package nodes.
Am I reading too much into that statement, or does that mean I can no longer override the HDA driver (/boot/system/add-ons/kernel/drivers/bin/hda) with my own package's, and I have to build Haiku from scratch in order to do so ?
comment:7 by , 5 years ago
Replying to ttcoder:
Am I reading too much into that statement, or does that mean I can no longer override the HDA driver (/boot/system/add-ons/kernel/drivers/bin/hda) with my own package's
You cannot put a "normal package" in and override said HDA driver without doing anything else, but you can still override a file. You just now must do either one of the following in addition:
1) Blacklist the "haiku" package's "hda" driver (as blacklists are package-specific this will not affect your package, of course) -- requires modifying a settings file on each machine you want to install the package on.
2) Set the "system_package" flag on said package. This just means adding a single line to the .PackageInfo. So this is pretty easy and probably the route you want to take.
In either case you definitely don't need to rebuild Haiku from scratch.
comment:9 by , 2 years ago
Summary: | Installing package with a "servers" directory will freeze the system. → Installing package with a "servers" file (replacing the "servers" directory) will freeze the system. |
---|
Ok, after a bit of sleep and more careful investigation, it turns out there was a problem in the package creation. It does not contain a "servers" dir, but it contains a file of that name at the same path.
This explains why things stop working: overriding the "servers" directory with a file is not a good idea.
Should the package system be a bit more protective against such errors?