Custom files collide with upstream files not packaged as config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
Don Penney |
Bug Description
Brief Description
-----------------
In StarlingX, we provide some customized versions of files provided by upstream packages. Generally, these are configuration files, and are packaged in the spec with %config(noreplace), so when the package is updated (ie. via system patching), the custom files are maintained. However, some of these files are not packaged as %config(noreplace), and the customizations are lost when the upstream package is patched.
Running rpm-audit can show us a list of non-config files that are modified from the original installation:
controller-0:~$ sudo rpm-audit --skip-links --skip-multi
Mismatch: /etc/inittab (initscripts-
Mismatch: /var/log/wtmp (initscripts-
Mismatch: /var/run/utmp (initscripts-
Mismatch: /boot/initramfs
Mismatch: /usr/local/
Mismatch: /etc/rc.
Mismatch: /etc/default/lldpd (lldpd-
Missing: /var/lib/ntp/drift (ntp-4.
Missing: /etc/openldap/
Mismatch: /usr/lib/
Mismatch: /var/log/lastlog (setup-
Mismatch: /etc/udev/hwdb.bin (systemd-
Mismatch: /usr/lib/
Mismatch: /usr/lib/
Mismatch: /usr/lib/
Mismatch: /usr/lib/
Mismatch: /var/lib/
Missing: /var/lib/
Mismatch: /var/lib/
Mismatch: /var/log/wtmp (systemd-
Mismatch: /var/run/utmp (systemd-
If we update systemd on a running system, for example, we end up with critical failures on a reboot, with services like memcached and ntpd unable to start up, due to the loss of some of these customizations.
Some of these can be addressed by updating installation paths of the customized files. The systemd files, for example, can be installed under /etc, and the custom files will override the installed files from systemd. Others can be addressed by updating the packaging to use %config(noreplace).
Severity
--------
Major
Expected Behavior
------------------
Updates to packages should not overwrite customized files.
Reproducibility
---------------
Reproducible
System Configuration
-------
All configurations
Branch/Pull Time/Commit
-------
master, as of Oct 30, 2019
Test Activity
-------------
Regression Testing
Changed in starlingx: | |
assignee: | nobody → Don Penney (dpenney) |
Changed in starlingx: | |
status: | In Progress → Fix Released |
Fix proposed to branch: master /review. opendev. org/692217
Review: https:/