Bug 1098444 - remove dependency on initscripts
Summary: remove dependency on initscripts
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: ppp
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pavel Šimerda (pavlix)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-05-16 08:22 UTC by Pavel Šimerda (pavlix)
Modified: 2014-05-19 21:21 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-05-16 17:19:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1098172 0 unspecified CLOSED dhclient: remove dependency on initscripts ? 2021-02-22 00:41:40 UTC

Internal Links: 1098172

Description Pavel Šimerda (pavlix) 2014-05-16 08:22:32 UTC
The legacy initscript package is pulled in by ppp. It would be good to consider modifying the ppp package so that it doesn't need initscripts any more.

See:

https://bugzilla.redhat.com/show_bug.cgi?id=1090090#c11

Comment 1 Pavel Šimerda (pavlix) 2014-05-16 08:29:13 UTC
There's also a similar request for dhclient:

https://bugzilla.redhat.com/show_bug.cgi?id=1098172

Comment 2 Michal Sekletar 2014-05-16 10:39:47 UTC
There are shell scripts shipped in the package which source generic network helper scripts shipped in initscripts package. Currently there is no easy way how to get rid of those scripts. If you have ideas how can we improve current state I am all ears and happy to take patches tough. For now CANTFIX. Sorry.

Comment 3 Pavel Šimerda (pavlix) 2014-05-16 11:12:52 UTC
According to Michal (on IRC), it's /etc/ppp/* files which depend on /etc/sysconfig/network-scripts/network-functions. I checked the actual dependencies using the following command:

# grep -h '^[a-z].*(' /etc/sysconfig/network-scripts/network-functions | sed -r 's/([^ ]*) *\(.*/grep --color \1 \/etc\/ppp\/*/' | bash

And the result shows the following functions:

 * net_log
 * source_config

The first one is self-contained while the latter one reads the ifcfg configuration, making the issue very similar to the one in dhclient:

(In reply to Pavel Šimerda (pavlix) from comment #1)
> There's also a similar request for dhclient:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1098172

Comment 4 Michal Sekletar 2014-05-16 11:23:15 UTC
Actually there is more, /etc/sysconfig/network-scripts/if{up,down}-ppp scripts are also dependent on stuff shipped in initscripts.

Comment 5 Pavel Šimerda (pavlix) 2014-05-16 11:42:52 UTC
(In reply to Michal Sekletar from comment #4)
> Actually there is more, /etc/sysconfig/network-scripts/if{up,down}-ppp
> scripts are also dependent on stuff shipped in initscripts.

Would it be too brave to just move those to the initscripts package (adding a check for pppd) where other similar scripts reside?

Comment 6 Michal Sekletar 2014-05-16 12:33:03 UTC
We moved these scripts from initscripts to ppp package quite recently [0] as part of the campaign to strip down the initscripts as much as possible and put things to the places where they really belong.

I guess that moving that back doesn't make sense. There is no point having these scripts on the system if ppp is not installed.

[0] http://pkgs.fedoraproject.org/cgit/ppp.git/commit/?id=e3ff43f81265ccf70cf080301252778e182ca61c

Comment 7 Pavel Šimerda (pavlix) 2014-05-16 13:23:01 UTC
(In reply to Michal Sekletar from comment #6)
> We moved these scripts from initscripts to ppp package quite recently [0] as
> part of the campaign to strip down the initscripts as much as possible

I understand it might have been a solution at that time but putting files into initscripts directory effectively requires the dependency, doesn't it?

> and put things to the places where they really belong.
>
> There is no point having these scripts on the system if ppp is not installed.

There is no point having these scripts on the system if initscripts is not installed, so in this respect initscripts and ppp is equal. The logical dependency of those files is actually on a *combination* of initscripts and ppp. Therefore the choice of the package has to be practical, not logical.

If we accept that ppp shouldn't depend on initscripts package nor any subpackage, then it shouldn't specifically depend on the /etc/sysconfig/network-scripts directory and therefore it shouldn't include any scripts in that directory.

For practical reasons, I would rather move /etc/sysconfig/network* to a subpackage initscripts-network (as suggested by lnykryn [1]) of the initscripts source package, including the stuff in ppp and possibly other packages. That way we would have all legacy networking stuff in one place. I believe the networking part of the package is substantially independent to warrant a subpackage.
 
[1] https://lists.fedoraproject.org/pipermail/devel/2014-April/198518.html

Comment 8 Michal Sekletar 2014-05-16 14:51:57 UTC
(In reply to Pavel Šimerda (pavlix) from comment #7)
 
> There is no point having these scripts on the system if initscripts is not
> installed, so in this respect initscripts and ppp is equal. The logical
> dependency of those files is actually on a *combination* of initscripts and
> ppp. Therefore the choice of the package has to be practical, not logical.
> 

After initscripts split is done I was planning to add dependency on whatever sub-package ship those scripts. That sub-package would be installed by default anyway unless you want to break 3-rd party applications. Those helper scripts are documented in official docs, you can't get rid of them just like that.

> If we accept that ppp shouldn't depend on initscripts package nor any
> sub-package, then it shouldn't specifically depend on the
> /etc/sysconfig/network-scripts directory and therefore it shouldn't include
> any scripts in that directory.

Nothing prevents you to install files into subdir which is owned by another package and not have hard dependency on the package. For example many tools ship logrotate config files which lives under dir owned by logrotate rpm but they don't hard depend on it thus admin may decide to uninstall it. I am not advocating that this should be the case all times, but unless we have soft deps in rpms this is reasonable to do in some cases. What I am trying to say is that this is not a problem. Problem is that ppp scripts depends on scripts from initscripts package.

> 
> For practical reasons, I would rather move /etc/sysconfig/network* to a
> subpackage initscripts-network (as suggested by lnykryn [1]) of the
> initscripts source package, including the stuff in ppp and possibly other
> packages. That way we would have all legacy networking stuff in one place. I
> believe the networking part of the package is substantially independent to
> warrant a sub-package.

I don't think that this is a good idea. Why should you have all the legacy stuff on the system if you don't use it. FYI, move of ppp related scripts from initscripts to ppp package was suggested by Lukas.

Comment 9 Lukáš Nykrýn 2014-05-16 17:19:26 UTC
This could be fixed after we decide what we will do with ifup in future and how we will handle things which are not implemented in NM or networkd. In those cases you need the ifup command.

So I am strictly against arguing about some specific implementation detail, until we have a full picture.

Comment 10 Pavel Šimerda (pavlix) 2014-05-18 08:54:28 UTC
There are still two things to be considered. One is the subpackaging that can lnykryn is talking about, the other is that ppp is a depenency for packages that can use it *without initscripts*, thus bringing initscripts (or a subpackage) entirely unnecessarily.

I can imagine that in the first round we would keep initscripts-network in a default installation but at least it could be explicitly removed. By keeping the hard dependency on initscripts (or a subpackage), we are essentialy preventing people from experimenting with a system entirely without initscripts.

In my opinion, it is worth getting rid of dependencies on initscripts (or subpackages) in packages that work without them to get more flexibility for the future.


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