#13141: HaikuDepot - Add system requirement to HPKG packages
--------------------------+------------------------------------------------
Reporter: lelldorin | Owner: nobody
Type: | Status: reopened
enhancement | Milestone: R1
Priority: normal | Version: R1/Development
Component: - General | Keywords: haikudepot,hpkg,system requiroment
Resolution: | Blocking:
Blocked By: | Platform: All
Has a Patch: 0 |
--------------------------+------------------------------------------------
Comment (by michel):
IMHO, if your app requires a specific piece of hardware like a webcam,
then it's the programmer's job to detect this in a post-install script or
applet and display an alert: "You don't seem to have a webcam on this
machine. My_Great_Skype_clone won't work optimally without one". It is not
the package system's job. Or you put the capability in the app itself. My
app Fontmonkey requires internet access, so it tests for it every time it
starts up. My app Yabadabbadoo required 1024x768 in early revisions. I
have since tweaked it to run (looks ugly, but it runs) in lower
resolutions.
To be blunt, if you need to list the dependencies, the packager can easily
put this in the description {} field. But why? You should be putting those
in the requires {} field and the system should automagically install them,
e.g. libqt4_x86. Why does the user need to know this? You can always rip
the HPKG apart in Expander and read the .PackageInfo if you are a
developer (note to devs: please do not remove this capability).
I do think specifying a minimum amount of RAM is a useful idea. Of course
that presupposes that we have a way to test for it when developing the
app. Is there a RAM-limiting utlitity out there? I can't really afford
twenty computers each with a different amount of RAM on board to test a
new app. With Pulse we can shut down processor cores and see if the app
still runs, but how would you do that with memory? Create a RAMdisk to
take up unwanted RAM, then grow it until the app stops responding?
The other way that I think the OP has a point is in graphics drivers.
Especially in games, we may come to a point where we want to specify that
an app is not going to do well in a VESA environment and needs a driver
that talks to the GPU more directly. We're not there yet, as Pulkomandy
points out, but a little future-proofing might be something to think
about.
What we are missing as far as I know is a way to indicate alternatives: a
given app may need a PDF viewer, but we can only specify one as a
dependency. if we could say "get either BePDF or DocumentViewer" that
would give us all more flexibility. If I have missed a subtlety in the
packaging system, please let me know.
But those would be long-term enhancements - no need to delay a beta
release for this.
--
Ticket URL: <https://dev.haiku-os.org/ticket/13141#comment:9>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.