Hi,
Before I am going to package System Configuration Collector for Fedora, I decided to run rpmlint on the existing, generic rpm of SCC.
SCC consists of 25 executable shell scripts that are installed in /opt/scc/bin. Configuration files reside in /etc/opt/scc and data is stored in /var/opt/scc/. All According to the FHS (http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACK...).
Fedora follows the FHS (http://fedoraproject.org/wiki/Packaging:Guidelines#Filesystem_Layout), however, rpmlint reports errors for all scripts in /opt/scc/bin:
scc.noarch: E: dir-or-file-in-opt /opt/scc/bin/scc-log A file in the package is located in /opt. It's not permitted for packages to install files in this directory.
Why is it not permitted for packages to install files in /opt while that is allright according to the FHS and Fedora follows FHS?
regards Siem Korteweg
Am 16.07.2011 21:06, schrieb Siem Korteweg: [...]
Why is it not permitted for packages to install files in /opt while that is allright according to the FHS and Fedora follows FHS?
FHS says in the first sentence:
»/opt is reserved for the installation of add-on application software packages.«
Installation in /opt is unusual in Fedora, but permitted as far as I know. Is SCC an »add-on software«? I recognize generic rpm packages as such, like the Google, Skype, or Adobe ones. In my mind, I package which will be shipped with Fedora itself should follow the usual standard. The hierarchy in the generic package is somewhat odd anyway: /opt/scc/bin, /etc/opt/scc and /var/opt/scc/. There's no common installation prefix, though. If you could figure out a way to make it work with /usr/bin, /etc/scc and /var/scc, it would become more transparent.
Best Regards, Mario
Am 16.07.2011 21:06, schrieb Siem Korteweg: [...]
Why is it not permitted for packages to install files in /opt while that is allright according to the FHS and Fedora follows FHS?
FHS says in the first sentence:
»/opt is reserved for the installation of add-on application software packages.«
Installation in /opt is unusual in Fedora, but permitted as far as I know. Is SCC an »add-on software«? I recognize generic rpm packages as such, like the Google, Skype, or Adobe ones. In my mind, I package which will be shipped with Fedora itself should follow the usual standard. The hierarchy in the generic package is somewhat odd anyway: /opt/scc/bin, /etc/opt/scc and /var/opt/scc/. There's no common installation prefix, though. If you could figure out a way to make it work with /usr/bin, /etc/scc and /var/scc, it would become more transparent.
What do you mean with the common installation prefix? What is the common installation prefix when I migrate the software to /usr/bin, /etc/scc and /var/scc?
regards, Siem Korteweg
Am 16.07.2011 22:05, schrieb Siem Korteweg: [...]
What do you mean with the common installation prefix? What is the common installation prefix when I migrate the software to /usr/bin, /etc/scc and /var/scc?
OK, I had to refer to prefixes, actually. The common prefix for binaries (such as scripts, too) is /usr. Configuration files go into /etc, and data should go into /usr/share.
Read the FHS again to see more about the purpose of the appropriate folders. You will see that it would be better to use the common folders from Fedora instead of /opt. The existence of a folder doesn't mean that you may use it as you like it ;)
However, it is not prohibited to use /opt at all. Or am I wrong here? CC'ing "spot" although I assume he reads this list.
Best Regards, Mario
Mario Blättermann wrote:
Am 16.07.2011 21:06, schrieb Siem Korteweg:
Why is it not permitted for packages to install files in /opt while that is allright according to the FHS and Fedora follows FHS?
FHS says in the first sentence:
»/opt is reserved for the installation of add-on application software packages.«
Installation in /opt is unusual in Fedora, but permitted as far as I know. Is SCC an »add-on software«?
As I understand it, "add-on" refers to software that is not installed as a Fedora package, that is a tarball or some other kind of package that you download from a third-party website. That's what the generic SCC package is. Although it's distributed as an RPM package in this case, it's not a Fedora package, so it belongs in /opt.
When you package SCC for Fedora it becomes a part of Fedora and is no longer an "add-on", so then its files shall be placed in /usr/bin, /etc/scc and /var/lib/scc (not /var/scc).
Björn Persson
Mario Blättermann wrote:
Am 16.07.2011 21:06, schrieb Siem Korteweg:
Why is it not permitted for packages to install files in /opt while
that
is allright according to the FHS and Fedora follows FHS?
FHS says in the first sentence:
»/opt is reserved for the installation of add-on application software packages.«
Installation in /opt is unusual in Fedora, but permitted as far as I know. Is SCC an »add-on software«?
As I understand it, "add-on" refers to software that is not installed as a Fedora package, that is a tarball or some other kind of package that you download from a third-party website. That's what the generic SCC package is. Although it's distributed as an RPM package in this case, it's not a Fedora package, so it belongs in /opt.
When you package SCC for Fedora it becomes a part of Fedora and is no longer an "add-on", so then its files shall be placed in /usr/bin, /etc/scc and /var/lib/scc (not /var/scc).
Björn Persson
packaging mailing list packaging@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/packaging
Well, only /srv is expressly forbidden:
https://fedoraproject.org/wiki/Packaging:Guidelines#No_Files_or_Directories_...
But my interpretation of the relevant section of the FHS is that the only things in /opt should be things that are totally self contained, as things like Skype and other binary-only things tend to be (static linking, etc). So, I'd stay out of /opt.
-J
[...]
As I understand it, "add-on" refers to software that is not installed as a Fedora package, that is a tarball or some other kind of package that you download from a third-party website. That's what the generic SCC package is. Although it's distributed as an RPM package in this case, it's not a Fedora package, so it belongs in /opt.
When you package SCC for Fedora it becomes a part of Fedora and is no longer an "add-on", so then its files shall be placed in /usr/bin, /etc/scc and /var/lib/scc (not /var/scc).
Thank you for this clarification. Development of SCC started on HP-UX where both HP and ISV's like Veritas install software in /opt. I interpreted "add-on" from FHS as "additional" or "non-core" and that caused my confusion.
As SCC is intended for system administrators, I will rebase SCC to use /usr/sbin, /etc/scc and /var/lib/scc.
regards Siem
On 07/16/2011 09:25 PM, Mario Blättermann wrote:
Am 16.07.2011 21:06, schrieb Siem Korteweg: [...]
Why is it not permitted for packages to install files in /opt while that is allright according to the FHS and Fedora follows FHS?
It is not allowed (neither is /srv), because Fedora is the "vendor", i.e. everything Fedora installs must go into vendor-directories.
Ralf
packaging@lists.fedoraproject.org