Bug 1611508 - network-scripts shouldn't depend on initscripts
Summary: network-scripts shouldn't depend on initscripts
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: initscripts
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: David Kaspar // Dee'Kej
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: IoT
TreeView+ depends on / blocked
 
Reported: 2018-08-02 09:26 UTC by Peter Robinson
Modified: 2018-08-02 11:31 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-08-02 11:08:28 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Peter Robinson 2018-08-02 09:26:37 UTC
In the thread [1] about removing unnecessary dependency on initscripts on devel@ there's request not to depend on it but network-scripts still does. It should be install-able without it. On a minimal install it's the only thing that now pulls in initscripts. It would be nice to be able to drop the legacy.

[1] https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/MRI2HG2WTDJ2BGZTZMZ3JLUMKGEFWM6P/

Comment 1 David Kaspar // Dee'Kej 2018-08-02 09:42:02 UTC
(In reply to Peter Robinson from comment #0)
> In the thread [1] about removing unnecessary dependency on initscripts on
> devel@ there's request not to depend on it but network-scripts still does.
> It should be install-able without it. On a minimal install it's the only
> thing that now pulls in initscripts. It would be nice to be able to drop the
> legacy.
> 
> [1]
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/
> message/MRI2HG2WTDJ2BGZTZMZ3JLUMKGEFWM6P/

Right now, the initscripts provide the /etc/rc.d/init.d/functions file, which is necessary for network-scripts to function properly.

But I too was previously thinking if we could somehow deal with this, so there's no dependency at all.

When I think about it, it could be possible to write the specfile in a way that both initscripts & network-scripts provide the same file. I will discuss it more with my colleague.

Thanks for raising your concerns.

Comment 2 David Kaspar // Dee'Kej 2018-08-02 09:52:04 UTC
Oh, I didn't realize that network-scripts have its own init script (network), and for that we need the initscripts package to function properly anyway. Sorry, this can't be fixed...

Comment 3 Peter Robinson 2018-08-02 10:32:14 UTC
(In reply to David Kaspar [Dee'Kej] from comment #2)
> Oh, I didn't realize that network-scripts have its own init script
> (network), and for that we need the initscripts package to function properly
> anyway. Sorry, this can't be fixed...

That's legacy, shouldn't that just go into the initscripts package with initscripts then depending on network-scripts?

Comment 4 Peter Robinson 2018-08-02 10:42:29 UTC
Something like:

diff --git a/initscripts.spec b/initscripts.spec
index 43e33c2..4407ab4 100644
--- a/initscripts.spec
+++ b/initscripts.spec
@@ -34,6 +34,7 @@ Requires:         procps-ng
 Requires:         setup
 Requires:         systemd
 Requires:         util-linux
+Requires:         network-scripts = %{version}-%{release}
 
 Requires(pre):    shadow-utils
 Requires(post):   coreutils
@@ -90,7 +91,6 @@ other legacy tools & utilities.
 
 %package -n network-scripts
 Summary:          Legacy scripts for manipulating of network devices
-Requires:         %{name}%{?_isa} = %{version}-%{release}
 
 %shared_requirements
 
@@ -105,9 +105,6 @@ Requires:         procps-ng
 Requires:         sed
 Requires:         systemd
 
-Requires(post):   chkconfig
-Requires(preun):  chkconfig
-
 Requires(post):   %{_sbindir}/update-alternatives
 Requires(postun): %{_sbindir}/update-alternatives
 
@@ -278,6 +275,7 @@ fi
 %ghost %config(noreplace, missingok) %verify(not md5 size mtime) %{_sysconfdir}/rc.d/rc.local
 
 %{_sysconfdir}/rc.d/init.d/functions
+%{_sysconfdir}/rc.d/init.d/network
 
 # RC symlinks:
 %{_sysconfdir}/rc[0-6].d
@@ -307,7 +305,6 @@ fi
 %doc doc/examples/
 %dir %{_sysconfdir}/sysconfig/network-scripts
 
-%{_sysconfdir}/rc.d/init.d/network
 %{_sysconfdir}/sysconfig/network-scripts/*
 
 %config(noreplace)    %{_sysconfdir}/sysconfig/network-scripts/ifcfg-lo

Comment 5 Lukáš Nykrýn 2018-08-02 10:58:57 UTC
I don't see the point in this change. network-scripts are useless without the initscripts, since nothing would setup the network on boot. And network initscripts is useless without the rest of network-scripts.

(In reply to Peter Robinson from comment #0)
> It would be nice to be able to drop the
> legacy.

Drop the network-script, for example, systemd-networkd is installed in minimal installation as well ;-)

Comment 6 David Kaspar // Dee'Kej 2018-08-02 11:08:28 UTC
(In reply to Peter Robinson from comment #3)
> (In reply to David Kaspar [Dee'Kej] from comment #2)
> > Oh, I didn't realize that network-scripts have its own init script
> > (network), and for that we need the initscripts package to function properly
> > anyway. Sorry, this can't be fixed...
> 
> That's legacy, shouldn't that just go into the initscripts package with
> initscripts then depending on network-scripts?

The initscripts package was split to have a clear separation between initscripts and network-scripts packages. Moving 'network' back into initscripts would just go against what we were trying to achieve in the first place - which is that network-scripts can be uninstalled easily when needed, and that network-scripts shouldn't be installed by default anymore. We would like to guide people to switch to NetworkManager.

Comment 7 Peter Robinson 2018-08-02 11:09:43 UTC
(In reply to Lukáš Nykrýn from comment #5)
> I don't see the point in this change. network-scripts are useless without
> the initscripts, since nothing would setup the network on boot. And network
> initscripts is useless without the rest of network-scripts.
> 
> (In reply to Peter Robinson from comment #0)
> > It would be nice to be able to drop the
> > legacy.
> 
> Drop the network-script, for example, systemd-networkd is installed in
> minimal installation as well ;-)

Doesn't NetworkManager use them?  systemd-networkd doesn't do wifi and numerous other options.....

Comment 8 Peter Robinson 2018-08-02 11:13:42 UTC
> The initscripts package was split to have a clear separation between
> initscripts and network-scripts packages. Moving 'network' back into
> initscripts would just go against what we were trying to achieve in the
> first place - which is that network-scripts can be uninstalled easily when
> needed, and that network-scripts shouldn't be installed by default anymore.
> We would like to guide people to switch to NetworkManager.

I was under the assumption that NetworkManager used a bunch of the network-scripts components in it's support, looking now it might be that teamd is the offender in that stack.

Comment 9 Lukáš Nykrýn 2018-08-02 11:24:23 UTC
(In reply to Peter Robinson from comment #7)
> (In reply to Lukáš Nykrýn from comment #5)
> > I don't see the point in this change. network-scripts are useless without
> > the initscripts, since nothing would setup the network on boot. And network
> > initscripts is useless without the rest of network-scripts.
> > 
> > (In reply to Peter Robinson from comment #0)
> > > It would be nice to be able to drop the
> > > legacy.
> > 
> > Drop the network-script, for example, systemd-networkd is installed in
> > minimal installation as well ;-)
> 
> Doesn't NetworkManager use them? 

nope
 
> systemd-networkd doesn't do wifi and numerous other options.....

Network-script can't do wifi either. Unless you use WEP, but in such case, you have a bigger problem elsewhere.

> I was under the assumption that NetworkManager used a bunch of the
> network-scripts components in it's support, looking now it might be that
> teamd is the offender in that stack.


I think these days you can also use teaming just with NM without network-scrips. Generally, we are trying to find any use-cases that work just with network-scripts and pass them to the NM team.

Comment 10 Peter Robinson 2018-08-02 11:31:22 UTC
> I think these days you can also use teaming just with NM without
> network-scrips. Generally, we are trying to find any use-cases that work
> just with network-scripts and pass them to the NM team.

Maybe, but it still depends on it:

$ rpm -e network-scripts
error: Failed dependencies:
        network-scripts is needed by (installed) teamd-1.27-8.fc29.aarch64
$ rpm -ql teamd|grep network-scripts
/etc/sysconfig/network-scripts/ifdown-Team
/etc/sysconfig/network-scripts/ifdown-TeamPort
/etc/sysconfig/network-scripts/ifup-Team
/etc/sysconfig/network-scripts/ifup-TeamPort

So likely they should be split into a sub package with the dep on network-scripts so the overall dep chain can go away if that's the case


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