[Bugs] [Bug 1314571] New: rsyslog can't be completely removed due to dependency in libglusterfs

bugzilla at redhat.com bugzilla at redhat.com
Fri Mar 4 00:02:00 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1314571

            Bug ID: 1314571
           Summary: rsyslog can't be completely removed due to dependency
                    in libglusterfs
           Product: GlusterFS
           Version: 3.7.9
         Component: packaging
          Keywords: EasyFix, Triaged
          Assignee: bugs at gluster.org
          Reporter: kkeithle at redhat.com
                CC: bugs at gluster.org, kkeithle at redhat.com,
                    ndevos at redhat.com
        Depends On: 1310437
            Blocks: 1309741



+++ 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 at 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 at 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 at redhat.com)

--- 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 at redhat.com)

--- 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 at redhat.com)

--- 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 at redhat.com)

--- 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 at redhat.com)

--- 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 at redhat.com) 
------
commit fdd8fc6f82e3b47eb47c82335f79552610596913
Author: Kaleb S KEITHLEY <kkeithle at redhat.com>
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 at redhat.com>
    Reviewed-on: http://review.gluster.org/13485
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Jeff Darcy <jdarcy at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1309741
[Bug 1309741] rsyslog can't be completely removed due to dependency in
libglusterfs
https://bugzilla.redhat.com/show_bug.cgi?id=1310437
[Bug 1310437] rsyslog can't be completely removed due to dependency in
libglusterfs
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list