+++ This bug was initially created as a clone of Bug #1310437 +++ Description of problem: rsyslog can't be completely removed due to dependency in glusterfs-libs. It depends on rsyslog-mmjsonparse, which remains on the system even if rsyslog is deleted. Three is no direct dependency on rsyslog / mmjsonparse, just an example config: /etc/rsyslog.d/gluster.conf.example It is a problem, when someone wants to replace rsyslog with an alternative solution, like syslog-ng Version-Release number of selected component (if applicable): glusterfs-libs-3.7.1-16.el7.x86_64 How reproducible: always Steps to Reproduce: Try to remove rsyslog-mmjsonparse: [root@localhost ~]# yum erase rsyslog-mmjsonparse-7.4.7-12.el7.x86_64 Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager Resolving Dependencies --> Running transaction check ---> Package rsyslog-mmjsonparse.x86_64 0:7.4.7-12.el7 will be erased --> Processing Dependency: rsyslog-mmjsonparse for package: glusterfs-libs-3.7.1-16.el7.x86_64 --> Running transaction check ---> Package glusterfs-libs.x86_64 0:3.7.1-16.el7 will be erased --> Processing Dependency: glusterfs-libs = 3.7.1-16.el7 for package: glusterfs-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: glusterfs-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: glusterfs-client-xlators-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: libvirt-daemon-driver-storage-1.2.17-13.el7_2.2.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: glusterfs-api-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: 10:qemu-kvm-1.5.3-105.el7_2.3.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: 10:qemu-img-1.5.3-105.el7_2.3.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: glusterfs-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: glusterfs-client-xlators-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: libvirt-daemon-driver-storage-1.2.17-13.el7_2.2.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: glusterfs-api-3.7.1-16.el7.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: 10:qemu-kvm-1.5.3-105.el7_2.3.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: 10:qemu-img-1.5.3-105.el7_2.3.x86_64 --> Processing Dependency: libglusterfs.so.0()(64bit) for package: libvirt-daemon-driver-storage-1.2.17-13.el7_2.2.x86_64 --> Processing Dependency: libglusterfs.so.0()(64bit) for package: glusterfs-3.7.1-16.el7.x86_64 --> Processing Dependency: libglusterfs.so.0()(64bit) for package: glusterfs-client-xlators-3.7.1-16.el7.x86_64 --> Processing Dependency: libglusterfs.so.0()(64bit) for package: glusterfs-api-3.7.1-16.el7.x86_64 --> Running transaction check ---> Package glusterfs.x86_64 0:3.7.1-16.el7 will be erased ---> Package glusterfs-api.x86_64 0:3.7.1-16.el7 will be erased ---> Package glusterfs-client-xlators.x86_64 0:3.7.1-16.el7 will be erased ---> Package libvirt-daemon-driver-storage.x86_64 0:1.2.17-13.el7_2.2 will be erased --> Processing Dependency: libvirt-daemon-driver-storage = 1.2.17-13.el7_2.2 for package: libvirt-daemon-kvm-1.2.17-13.el7_2.2.x86_64 ---> Package qemu-img.x86_64 10:1.5.3-105.el7_2.3 will be erased ---> Package qemu-kvm.x86_64 10:1.5.3-105.el7_2.3 will be erased --> Running transaction check ---> Package libvirt-daemon-kvm.x86_64 0:1.2.17-13.el7_2.2 will be erased --> Processing Dependency: libvirt-daemon-kvm for package: gnome-boxes-3.14.3.1-7.el7.x86_64 --> Running transaction check ---> Package gnome-boxes.x86_64 0:3.14.3.1-7.el7 will be erased --> Processing Dependency: /usr/bin/qemu-img for package: libvirt-daemon-driver-qemu-1.2.17-13.el7_2.2.x86_64 --> Restarting Dependency Resolution with new changes. --> Running transaction check ---> Package libvirt-daemon-driver-qemu.x86_64 0:1.2.17-13.el7_2.2 will be erased --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================== Removing: rsyslog-mmjsonparse x86_64 7.4.7-12.el7 @rhel-7-server-eus-rpms 15 k Removing for dependencies: glusterfs x86_64 3.7.1-16.el7 @rhel-7-server-eus-rpms 1.6 M glusterfs-api x86_64 3.7.1-16.el7 @rhel-7-server-eus-rpms 141 k glusterfs-client-xlators x86_64 3.7.1-16.el7 @rhel-7-server-eus-rpms 3.2 M glusterfs-libs x86_64 3.7.1-16.el7 @rhel-7-server-eus-rpms 1.1 M gnome-boxes x86_64 3.14.3.1-7.el7 @rhel-7-server-eus-rpms 4.3 M libvirt-daemon-driver-qemu x86_64 1.2.17-13.el7_2.2 @rhel-7-server-eus-rpms 1.3 M libvirt-daemon-driver-storage x86_64 1.2.17-13.el7_2.2 @rhel-7-server-eus-rpms 549 k libvirt-daemon-kvm x86_64 1.2.17-13.el7_2.2 @rhel-7-server-eus-rpms 0.0 qemu-img x86_64 10:1.5.3-105.el7_2.3 @rhel-7-server-eus-rpms 2.2 M qemu-kvm x86_64 10:1.5.3-105.el7_2.3 @rhel-7-server-eus-rpms 5.6 M Transaction Summary ============================================================================================================================================================================================== Remove 1 Package (+10 Dependent packages) Installed size: 20 M Is this ok [y/N]: n Actual results: Not just rsyslog-mmjsonparse, but the whole kvm virtualization stack is also removed in the action. Expected results: If we erase rsyslog-mmjsonparse, it does not take any other software with it. For that rsyslog-mmjsonparse should not be among the requires of glusterfs-libs, like it is now: [root@localhost ~]# rpm -q --requires glusterfs-libs /bin/sh /bin/sh libc.so.6()(64bit) libc.so.6(GLIBC_2.10)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.8)(64bit) libcrypto.so.10()(64bit) libcrypto.so.10(libcrypto.so.10)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libgfrpc.so.0()(64bit) libgfxdr.so.0()(64bit) libglusterfs.so.0()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) librt.so.1()(64bit) librt.so.1(GLIBC_2.2.5)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libz.so.1()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rsyslog-mmjsonparse rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 Additional info: If needed, I can also provide a sample syslog-ng configuration for JSON parsing. (On CentOS it's even worse, as rsyslog-mmjsonparse also depends on rsyslog, so rsyslog practically can't be deleted at all) --- Additional comment from Tomas Heinrich on 2016-02-18 17:46:23 CET --- From the point of rsyslog, I think this dependency is unnecessary; The file is just an example and not used by default. The only requirement for the rsyslog package is to have the /etc/rsyslog.d/ dir where the file is currently installed. I think it'd be better to move the file somewhere into /usr/share/..., add another example for syslog-ng and add instructions to install the respective packages. --- Additional comment from Vijay Bellur on 2016-02-22 08:45:35 EST --- REVIEW: http://review.gluster.org/13485 (packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse}) posted (#1) for review on master by Kaleb KEITHLEY (kkeithle) --- Additional comment from Vijay Bellur on 2016-02-25 08:31:54 EST --- REVIEW: http://review.gluster.org/13485 (packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse}) posted (#2) for review on master by Kaleb KEITHLEY (kkeithle) --- Additional comment from Vijay Bellur on 2016-02-25 21:00:58 EST --- REVIEW: http://review.gluster.org/13485 (packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse}) posted (#3) for review on master by Kaleb KEITHLEY (kkeithle) --- Additional comment from Vijay Bellur on 2016-02-29 10:05:44 EST --- REVIEW: http://review.gluster.org/13485 (packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse}) posted (#4) for review on master by Kaleb KEITHLEY (kkeithle) --- Additional comment from Vijay Bellur on 2016-03-03 13:22:42 EST --- REVIEW: http://review.gluster.org/13485 (packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse}) posted (#5) for review on master by Kaleb KEITHLEY (kkeithle) --- Additional comment from Vijay Bellur on 2016-03-03 18:40:06 EST --- COMMIT: http://review.gluster.org/13485 committed in master by Jeff Darcy (jdarcy) ------ commit fdd8fc6f82e3b47eb47c82335f79552610596913 Author: Kaleb S KEITHLEY <kkeithle> Date: Mon Feb 22 08:31:39 2016 -0500 packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse} remove unnecessary dependencies. GlusterFS only ships example config files, and the system may not actually be using rsyslog at all. (It may only be RHEL5 that uses rsyslog "out of the box.") Also, several example config files (including gluster-rsyslog-7.2.conf, gluster-rsyslog-5.8.conf, logger.conf.example) are already installed in /etc/glusterfs/ by `make install` in the extras directory and are included in the -server RPM. Installing them (anywhere) in the spec file is redundant. Furthermore, a query in the fedora-devel mailing list about the preferred location for these files went unanswered. Change-Id: I07bd6a8714a05e8b91adc03f101032c1593da360 BUG: 1310437 Signed-off-by: Kaleb S KEITHLEY <kkeithle> Reviewed-on: http://review.gluster.org/13485 Smoke: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com> Reviewed-by: Jeff Darcy <jdarcy>
REVIEW: http://review.gluster.org/13600 (packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse}) posted (#1) for review on release-3.7 by Kaleb KEITHLEY (kkeithle)
COMMIT: http://review.gluster.org/13600 committed in release-3.7 by Kaleb KEITHLEY (kkeithle) ------ commit 49da065720919faeb98bae418eccb24498230788 Author: Kaleb S KEITHLEY <kkeithle> Date: Thu Mar 3 19:08:11 2016 -0500 packaging: gratuitous dependencies on rsyslog-mm{count,jsonparse} remove unnecessary dependencies. GlusterFS only ships example config files, and the system may not actually be using rsyslog at all. (It may only be RHEL5 that uses rsyslog "out of the box.") Also, several example config files (including gluster-rsyslog-7.2.conf, gluster-rsyslog-5.8.conf, logger.conf.example) are already installed in /etc/glusterfs/ by `make install` in the extras directory and are included in the -server RPM. Installing them (anywhere) in the spec file is redundant. Furthermore, a query in the fedora-devel mailing list about the preferred location for these files went unanswered. Backport of >Change-Id: I07bd6a8714a05e8b91adc03f101032c1593da360 >BUG: 1310437 >Reviewed-on: http://review.gluster.org/13485 Change-Id: Ib1cc3cd5ab21f7f94631338aa77c3c1aea60b42a BUG: 1314571 Signed-off-by: Kaleb S KEITHLEY <kkeithle> Reviewed-on: http://review.gluster.org/13600 Smoke: Gluster Build System <jenkins.com> NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.com>
in 3.7.10
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.9, please open a new bug report. glusterfs-3.7.9 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] https://www.gluster.org/pipermail/gluster-users/2016-March/025922.html [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user