Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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:
Doc Type: If docs needed, set a value
Doc Text:
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.