Skip to content
Dee'Kej edited this page May 17, 2018 · 41 revisions

As part of the cleanup efforts in initscripts package, there are several files that should be either completely removed (because they are no longer relavant, etc.), or moved to different (and more relevant) packages.

Many of the files end up in initscripts before, because they were needed for Fedora distribution, and nobody cared much about where they should really belong. If we want to move forward with our plans for initscripts, we need to solve these files first.

Another reason to make this change is to remove some dependencies of other packages on initscripts. Preferably, we would like to get to a point in the future, where the initscripts package could be uninstalled for the users that wish to do so (on their own risk).

Since not all of the files might have a good package candiate where they should be moved, we expect to create a new package for Fedora/RHEL, where files like it should live. The work name for this package should be randc (read random crap) for now.

Files to be removed completely

  • ChangeLog - created automatically in Makefile - this is no longer needed (use git log for these purposes)
  • NetworkManager/dispatcher.d/00-netreport | src/netreport.c | src/netreport.1 | initscripts.tmpfiles.d - the netreport concept is quite outdated, and IMHO not sane to use at all
  • examples/networking/ - these will be dropped as examples files themselves, but will live as part of our documenenation in new man pages (see below)
  • changes.ipv6 - 15 years old "changelog" for IPv6
  • ipv6-6to4.howto - 15 years old tutorial for 6to4 setup
  • ipv6-tunnel.howto - 16 years old tutorial for IPv6 tunnel
  • sysvinitfiles - we tell everybody to use systemd's unit files if needed, we really shouldn't ship old tutorial on writing SysV init files
  • sys-unconfig - from what I have been told, this is concept has been obsoleted, and using this script is potentionally dangerous
  • src/consoletype.c | consoletype.1 - this has been used only by lang.sh & lang.csh files, and it should be OK to use tty instead in those files. However, it's possible people are still using it, so we have to be ready to bring it back if necessary. (Maybe issue a transition period with deprecation warning?)
  • src/genhostid.c | src/genhostid.1 - the /etc/hostid has been superseeded with systemd's /etc/machine-id. We will have a deprecation period for this with cleat warning.
  • src/ifup.8
  • src/usleep.c | src/usleep.1 - the sleep utility now supports microseconds as well. We have been displaying deprecation warning for last 2 Fedora releases, but some people might still rely on it.
  • src/shvar.c | src/shvar.h - no longer used by anything in initscripts
  • po/xgettext_sh - hopefully it should be enough to use po/xgettext_sh.py only
  • systemd/fedora-import-state | systemd/system/fedora-import-state.service - to remove these will take more time. First we need to fix network-scripts, NetworkManager and dracut to be able use network configuration from /run/ folder. Then we should be able to remove this service.
    • (lnykryn) Also we need to check dhcp and fcoe package. And after we fix those, we should add there a deprecation warning before we drop it completely.

Files to be moved into different packages:

  • adjtime - this will be moved into util-linux, because it is needed only by hwclock (part of util-linux)
  • lang.sh | lang.csh - these should be moved into setup package (see fedora-devel mailing list why we still need it in Fedora) - NOTE: We should check other distros about how they deal with locale issues.
  • networks - this should be moved into setup package, and it's man page should be added as well
  • src/sushell - we are waiting for a word from SELinux guys, if is still needed or if we can just drop. If it is still needed, then this should be moved into selinux package.
  • src/rename_device.c | udev/rules.d/60-net.rules - this is still needed for network devices renaming. After the rename_device.c has been converted into shell script we should move it into the setup package.
  • systemd/fedora-domainname | systemd/system/fedora-domainname.service - Unless there's another tool / application / service depending on NIS domain being set, then this should be moved into SSSD/FreeIPA package that relies on it. A mail thread has been started on fedora-devel. If something else require this service, then we will probably move this into setup package.
  • systemd/fedora-loadmodules | systemd/system/fedora-loadmodules.service - this script does IMHO quite nasty thing, and I would prefer to not have it in Fedora/RHEL at all. On the other hand, this might be quite utilized by people, so this needs to be discussed first properly... If we can't drop it, then this should be moved into setup package if possible.

Files that will be moved into new (sub)packages

Additional notes:

  • We expect that sysconfig.txt will be dropped eventually as well, together with the examples/ and some other man pages. We will replace them with new man page for network-scripts, which will be written from scratch to be up-to-date.
Clone this wiki locally