Bug 1098172

Summary: dhclient: remove dependency on initscripts ?
Product: [Fedora] Fedora Reporter: abrouwers
Component: dhcpAssignee: Jiri Popelka <jpopelka>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: jpopelka, lnykryn, psimerda, thozza
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dhcp-4.3.2-11.fc23 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-14 17:08:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description abrouwers 2014-05-15 12:40:10 UTC
Description of problem:

I was investigating which packages on my system still required the 'initscripts' package; as it turns out, dhclient is one of the only remaining ones on my gnome fedora 20 machine.  It seems that the package requires it for the dhclient-script, which I guess isn't quite useful for desktop users with eg. network manager.

Is it possible to split this out somehow ?  It's surely not harmful to keep initscripts around, but it also seems like it should be possible to run without the package.

Comment 1 Jiri Popelka 2014-05-15 13:27:50 UTC
Good idea, I'll think about it.

Comment 2 Lukáš Nykrýn 2014-05-15 13:59:06 UTC
Sure, this is a good idea and it is part of my long-term plan.

Comment 3 Pavel Šimerda (pavlix) 2014-05-15 15:01:17 UTC
I can confirm that dhclient script is not needed on Fedora at all unless one wants to run dhclient by hand. On the other hand, AFAIK NetworkManager developers want to remove the dependency on dhclient entirely, which would remove the of a default install on initscript.

I see the following reasons dhclient-script depends on initscripts:

 * /etc/rc.d/init.d/functions
 * /etc/sysconfig/network-scripts/network-functions

I tried to check which functions are actually being used using the following command:

# grep -h '^[a-z].*(' /etc/init.d/functions /etc/sysconfig/network-scripts/network-functions | grep -v '^status\>' | sed -r 's/([^ ]*) *\(.*/grep --color \1 \/usr\/sbin\/dhclient-script/' | bash

I see the following functions:

 * need_config
 * source_config
 * need_hostname
 * change_resolv_conf

(None of them is from /etc/init.d/functions)

The former two are related to reading the /etc/sysconfig/network configuration while the latter two seem to be pretty much self-contained. A couple of solutions came to my mind...

1) Move dhclient-script to the initscripts. This might be a bit too brave.

2) Make dhclient-script work without the respective functions, use them only when available.

3) Copy/reimplement the functions in dhclient-script.

Comment 4 Jiri Popelka 2014-05-15 15:26:47 UTC
(In reply to Pavel Šimerda (pavlix) from comment #3)
> I tried to check which functions are actually being used using the following command:

Thanks !

> 3) Copy/reimplement the functions in dhclient-script.

This one looks most promising to me.
I already wanted to do that with change_resolv_conf() because of bug #1086425 so we might kill two birds with one stone ;)

Comment 5 Jiri Popelka 2014-05-16 11:25:20 UTC
dhclient-script also uses ipcalc utility from initscripts.

Comment 6 Jaroslav Reznik 2015-03-03 17:01:35 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22