Skip to content
This repository has been archived by the owner on Sep 23, 2024. It is now read-only.

module naming scheme #7

Closed
carlwgeorge opened this issue Feb 16, 2016 · 3 comments
Closed

module naming scheme #7

carlwgeorge opened this issue Feb 16, 2016 · 3 comments

Comments

@carlwgeorge
Copy link
Member

The httpd24u package currently uses the naming scheme mod24u_ for module subpackage. The "24u" is obviously taken from the main package name. We choose this naming scheme during the initial package creation.

httpd24u.x86_64 : Apache HTTP Server
httpd24u-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd24u-filesystem.noarch : The basic directory layout for the Apache HTTP server
httpd24u-manual.noarch : Documentation for the Apache HTTP server
httpd24u-tools.x86_64 : Tools for use with the Apache HTTP Server
mod24u_ldap.x86_64 : LDAP authentication modules for the Apache HTTP Server
mod24u_proxy_html.x86_64 : HTML and XML content filters for the Apache HTTP Server
mod24u_session.x86_64 : Session interface for the Apache HTTP Server
mod24u_ssl.x86_64 : SSL/TLS module for the Apache HTTP Server

We have been asked many times by users how to use mod_ssl with httpd24u. The correct answer is mod24u_ssl, but it illustrates the fact that the naming scheme is less than ideal. Here are a few more Apache HTTP Server module package names for comparison.

name repo comment
mod_ssl RHEL base mod_ssl built with stock httpd
httpd24-mod_ssl SCL mod_ssl built with SCL httpd24
mod_wsgi RHEL base mod_wsgi built with stock httpd and stock python
python27-mod_wsgi IUS mod_wsgi built with stock httpd and IUS python27
python33-mod_wsgi SCL mod_wsgi built with SCL httpd24 and SCL python33
php RHEL base mod_php built with stock httpd and stock php
php56u IUS mod_php built with stock httpd and IUS php56u
mod_php70u IUS mod_php built with stock httpd and IUS php70u
apcu-panel RHEL base apcu-panel built with stock php
apcu-panel55u IUS apcu-panel built with php55u
php70u-pecl-apcu-panel IUS apcu-panel built with php70u
emacs-git2u IUS emacs git support built with stock emacs and IUS git2u
git19-emacs-git SCL emacs git support built with stock emacs and SCL git19

As you can see, this isn't an exact science, and IUS hasn't been entirely consistent over time.

Would using "httpd24u-" as a prefix be a better naming scheme, i.e. "httpd24u-mod_ssl"? Then users who run yum search mod_ssl would immediately see what they need.

What if we then offered mod_wsgi built against httpd24u and python35u? We don't currently have plans for this, but don't want to rule it out by way of an ineffective naming scheme. Which name would work best?

python35u-mod24u_wsgi
httpd24u-mod_wsgi35u
httpd24u-python35u-mod_wsgi
httpd24u-mod_wsgi-python35u

It is also worth mentioning that IUS is fundamentally designed around building a package against stock dependencies, so you only have to upgrade the one package you need. This is part of the reason we decided to not build mod_php packages for httpd24u.

OK, long rant over. What does the community think?

@jsosic
Copy link

jsosic commented Feb 16, 2016

If you guys are gonna build mod_php against httpd24u now, I'm all for it 👍

For me personally it's not an issue (name change), but I would love to hear if somebody thinks he'll have problems adapting....

I would personally chose between:

python35u-mod24u_wsgi
httpd24u-mod_wsgi35u

First one may be confusing with 24u after mod, but second may be similarly confusing with what does 35u mean. So, I would go with first one. httpd24u for httpd package and xxx-mod24u_ for modules seems like a best combo. So final answer:

python35u-mod24u_wsgi

Other two not mentioned here seem to stand out too much....

@immanetize
Copy link

+1, the httpd-%{verison} prefix would make it foolproof to identify the relevant supplementary packages.

@carlwgeorge
Copy link
Member Author

We decided that the most important thing here is to improve discoverability for our users. As such, in the 2.4.20-2.ius release of httpd24u we have renamed the module subpackages.

old name new name
mod24u_ldap httpd24u-mod_ldap
mod24u_proxy_html httpd24u-mod_proxy_html
mod24u_session httpd24u-mod_session
mod24u_ssl httpd24u-mod_ssl

Users will now see the IUS package when searching by the stock name, i.e. yum search mod_ssl. The packages have obsoletes to allow clean upgrades, and provide the old name so that running commands such as yum install mod24u_ssl will still work.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants