Bug 634691 - services that depend on /etc/xinetd.d/ scripts do not list xinetd as a dependency
Summary: services that depend on /etc/xinetd.d/ scripts do not list xinetd as a depend...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: cvs
Version: 5.5
Hardware: All
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Petr Pisar
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-16 17:42 UTC by wstearns
Modified: 2013-04-15 09:10 UTC (History)
3 users (show)

Fixed In Version: cvs-1.11.22-9.el5
Doc Type: Bug Fix
Doc Text:
Cause Having installed `cvs' package configured for inet daemon and missing `xinetd' package. There is no dependency between cvs and xinetd. Consequence cvs server is not accessible through network. Fix Sub-package `cvs-inetd' has been created that pulls xinetd package into system and that delivers cvs inetd configuration file instead of the `cvs' sub-package. Thus to configure cvs server as inetd service, one needs too install cvs-inetd that ensures xinet daemon is available. Result xinet daemon is available once cvs inetd configuration file presents on system. Thus after enabling CVS as inet service (disable=no in /etc/xinetd.d/cvs) and rebooting or reloading xinet daemon, CVS server becomes accessible through network.
Clone Of:
: 695719 (view as bug list)
Environment:
Last Closed: 2011-10-19 11:20:33 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Spec file changes from Fedora (2.06 KB, patch)
2011-04-12 15:20 UTC, Petr Pisar
no flags Details | Diff
Spec file changes from Fedora (1.52 KB, patch)
2011-04-12 15:25 UTC, Petr Pisar
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1383 0 normal SHIPPED_LIVE cvs bug fix update 2011-10-19 11:20:15 UTC

Description wstearns 2010-09-16 17:42:12 UTC
Description of problem: Services that have /etc/xinetd.d/* scripts don't list xinetd as a dependency in their rpm configuration. Example:

# rpm -ql cvs | grep -i inetd
/etc/xinetd.d/cvs
# rpm -q cvs --requires | grep -i inetd
# 

Without xinetd installed, services will not be launched at boot time.

Version-Release number of selected component (if applicable):
xinetd-2.3.14-10.el5
OpenIPMI-2.0.16-7.el5
cvs-1.11.22-7.el5
krb5-workstation-1.6.1-36.el5_5.5
rsync-2.6.8-3.1
and possibly others (telnet-server?  authd?  tftp-server?  others?)


How reproducible:

Steps to Reproduce:
1. Install one of the above packages without installing xinetd (which may require unchecking the "Legacy Network Services" group during install).
2. Enable the service by changing "disable = yes" to "disable = no" and reboot.
3. Service is unavailable.
  
Actual results:
Port is closed, service is down.

Expected results:
Port is open, service is up.

Additional info:
Appears to be an issue in Fedora as well.  It's not enough to put in a dependency on the /etc/xinetd.d/ directory as this is provided by "filesystem", not xinetd.  "cvs" may be a bad example, as a user might choose to install cvs to only have the client, but for others such as "telnet-server" the only reason to install the package is to run a server out of xinetd.

Comment 1 Vojtech Vitek 2011-04-08 14:43:18 UTC
This would be an issue of dependent components, not xinetd, if valid.
Moving bz from xinetd to cvs component (the first example).

Comment 2 Petr Pisar 2011-04-11 08:36:54 UTC
cvs does not require inetd in all use cases, you can use cvs without inet daemon successfully. Thus (x)inetd is optional dependency.

Correct solution for strict dependency graph is to separate cvs inetd configuration file into sub-package and add Requires: xinetd to the sub-package only.

BTW, what's correct dependency name for (x)inetd? inetd or xinetd? Does RHEL support both of them, or xinetd only?

Comment 3 Vojtech Vitek 2011-04-11 09:09:47 UTC
(In reply to comment #2)
> BTW, what's correct dependency name for (x)inetd? inetd or xinetd? Does RHEL
> support both of them, or xinetd only?

The correct dependency name is "xinetd", even though the package itself provides "inetd" as well. Xinetd is a secure replacement for inetd, by the way. We don't ship the obsolete inetd in any supported RHEL.

Comment 4 Petr Pisar 2011-04-12 14:12:14 UTC
Proposed solution: To add cvs-inetd subpackage that will deliver /etc/xinetd.d/cvs and that will Require: cvs, xinetd.

Notice regarding name: cvs-server is not proper name because server and client is implemented in one binary and the server can be run by local user (multi-user server with shell access) or through SSH/rsh.

Comment 5 Petr Pisar 2011-04-12 15:20:06 UTC
Created attachment 491517 [details]
Spec file changes from Fedora

Comment 6 Petr Pisar 2011-04-12 15:25:01 UTC
Created attachment 491518 [details]
Spec file changes from Fedora

A typo fixed.

Comment 7 Petr Pisar 2011-08-25 14:09:30 UTC
RHEL-5 rpmbuild does not support mixing architecture depended and independent sub-packages. Thus the cvs-inetd sub-package will be built as architecture specific.

Comment 10 Petr Pisar 2011-08-25 14:54:36 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
    Having installed `cvs' package configured for inet daemon
    and missing `xinetd' package. There is no dependency
    between cvs and xinetd.
Consequence
    cvs server is not accessible through network.
Fix
    Sub-package `cvs-inetd' has been created that pulls xinetd
    package into system and that delivers cvs inetd
    configuration file instead of the `cvs' sub-package. Thus
    to configure cvs server as inetd service, one needs too
    install cvs-inted that ensures xinet daemon is available.
Result
    xinet daemon is available once cvs inetd configuration file
    presents on system. Thus after enabling CVS as inet
    service  (disable=no in /etc/xinetd.d/cvs) and rebooting
    or reloading xinet daemon, CVS server becomes accessible
    through network.

Comment 11 Petr Pisar 2011-08-25 15:02:56 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -9,7 +9,7 @@
     package into system and that delivers cvs inetd
     configuration file instead of the `cvs' sub-package. Thus
     to configure cvs server as inetd service, one needs too
-    install cvs-inted that ensures xinet daemon is available.
+    install cvs-inetd that ensures xinet daemon is available.
 Result
     xinet daemon is available once cvs inetd configuration file
     presents on system. Thus after enabling CVS as inet

Comment 14 errata-xmlrpc 2011-10-19 11:20:33 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1383.html


Note You need to log in before you can comment on or make changes to this bug.