Re: debian-med newbie seeks advice on where to place packages
On 08/11/2009 05:01 PM, Andreas Tille wrote:
On Tue, Aug 11, 2009 at 03:55:43PM -0400, K.S. Bhaskar wrote:
[KSB] <...snip...>
Things are well defined in Debian: Files will go to /usr (not /usr/local).
Architecture dependant files go to /usr/lib, architecture indepenant files
go to /usr/share, variable files (database content etc.) go to /var.
Here is some background on GT.M configuration:
1. Multiple releases (or versions the terms are interchangeable) can and
usually do coexist on the same system at the same time. So, we will
have to use the version to identify each GT.M. So, we will need
directories with names like .../gtm/V5.3-003_i686,
.../gtm/V5.3-004_x8664, etc. [Note: the initial releases will all be
i686 binaries; at some point after the sources are properly repackaged
and released, there will also be x8664 binaries.]
2. GT.M is not one executable. Rather it is several: mumps, mupip, dse
and lke are the main ones, but there are others. They all expect to
reside in the same directory; otherwise they will not be happy.
My tentative conclusions:
1. I should use directories with names like /usr/lib32/gtm/V5.3-004_i686
each of which contains a complete GT.M release.
2. For log files, I should use directories with names like
/var/log/gtm/V5.3-004_i686.
3. I should create executable files such as
/usr/bin/mumps_V5.3-004_i686, which will contain something like:
#!/bin/sh
source /usr/lib32/gtm/V5.3-004_i686/gtmprofile
/usr/lib32/gtm/V5.3-004_i686/mumps
There will be similar files like /usr/bin/mupip_V5.3-004_i686 for the
other executables.
4. I should create symbolic links such as /usr/bin/mumps that point to
/etc/alternatives/mumps which in turn will point to a file like
/usr/bin/mumps_V5.3-004_i686.
5. Using the Debian alternatives system, I should provide alternatives
to gtm so that /etc/alternatives/{mumps,mupip,dse,lke} are all switched
at the same time to point to the selected GT.M version.
Some questions, please:
1. Does the directory layout above make sense?
2. Where can I find documentation on creating a configuration for the
Debian alternatives system? All I have found so far is instructions on
using it, not on setting up alternatives for use.
3. There is a small part of GT.M that must be owned by root and
installed with the setuid bit on. Is there a special procedure for this
or should I just do that in the postinstall script?
4. GT.M requires the ability to execute dynamically compiled code (it's
a feature of the MUMPS language). To give GT.M this permission with
SELinux, the usual installation of GT.M executes a command such as chcon
-t texrel_shlib_t libgtmshr.so. But this presumes that SELinux is
installed and operational. If SELinux is installed or configured later,
this command will need to be run at that time. Is there a way to tell
the Debian package manager, "if SELinux is installed or turned on, run
this command"?
Thank you very much, in advance, for your help.
Regards
-- Bhaskar
GT.M - Rock solid. Lightning fast.
_____________
The information contained in this message is proprietary and/or confidential. If you are not the
intended recipient, please: (i) delete the message and all copies; (ii) do not disclose,
distribute or use the message in any manner; and (iii) notify the sender immediately. In addition,
please be aware that any message addressed to our domain is subject to archiving and review by
persons other than the intended recipient. Thank you.
_____________
Reply to: