|
From: Dan M. <d-...@uc...> - 2001-06-27 19:11:20
|
Hi everybody, I don't know much about relocatable packages and I'm hoping people on this list can help fill me in on things. First, could people tell me which Unix, Linux, and BSD distributions do or don't use relocatable packages. I know Red Hat has few relocatable packages, and SuSe seems to be the same. It sounds like Solaris uses sysv and ships most, but not all, packages relocatable. What about everything else? Second, is relocating RPMs *extremely* lame, or is my information out of date? I was just reading about it here: http://www.rpmdp.org/rpmbook/node80.html#12292 It looks like relocating packages with RPM only really works if all of your files are under $prefix. If you put things under /etc or /var or anywhere else, there seems to be no nice way of doing it. This seems like a really dumb limitation in RPM, so I'm hoping this document is just obsolete and that RPM has been improved since the time this document was written (1997-8). Does relocating a package normally happen in the same trivial way that it does for RPM? ie. It just takes all the file paths which match a certain pattern for $prefix and substitute a new $prefix in place of it when it installs. Are there other common features? My general impression is that at least with RPM, people would often not be able to make their applications relocatable without doing some odd monkeying around to get it to work. I'm guessing that other packaging systems are much better. I guess for the sake of ScrollKeeper we will support relocatable packages and then let the packagers decide for themselves whether they use this feature. Given all this, I think the old proposal to the list which Laszlo just linked to should more or less be the right approach. The spec file (or whatever it is called in a particular packaging system) just needs to call a post-install script and provide it with the information: (1) where the OMF files are (2) where the docs are Does anybody know offhand whether the prefix the user passes to RPM on the command line to relocate a package is available as a variable inside the spec file to be passed to the post-install script? The link above does not seem to say, but I think that it indirectly implies it is possible to access this variable. I'd really like to hear feedback on all this from people who ship relocatable packages. This is all more of an exercise for me since I use Red Hat and thus never use relocatable packages. I would like to get this all right on the first try though ;) Dan |