Version
ACE 8.0.4 / TAO 4.0.4
Host machine and operating system
Linux, openSUSE 16.0, 64 bit
Target machine and operating system (if different from host)
Compiler name and version (including patch level)
The $ACE_ROOT/ace/config.h file
No change, built with rpmbuild -ta rpmbuild -ta ACE+TAO-src-8.0.4.tar.gz
The problem effects:
It affects installation of rpms dues to a requirement (user(tao), group(tao) that is provided already by the rpm packages.
Synopsis
leap16:/home/iulians/rpmbuild/RPMS/x86_64 # zypper install *.rpm
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...
'ace-kokyu = 0:8.0.4-1' is already installed.
No update candidate for 'ace-kokyu-8.0.4-1.x86_64'. The highest available version is already installed.
'ace-xml = 0:8.0.4-1' is already installed.
No update candidate for 'ace-xml-8.0.4-1.x86_64'. The highest available version is already installed.
'ace = 0:8.0.4-1' is already installed.
No update candidate for 'ace-8.0.4-1.x86_64'. The highest available version is already installed.
'mpc = 0:8.0.4-1' is already installed.
No update candidate for 'mpc-8.0.4-1.x86_64'. The highest available version is already installed.
'tao = 0:4.0.4-1' is already installed.
No update candidate for 'tao-4.0.4-1.x86_64'. The highest available version is already installed.
Resolving package dependencies...
6 Problems:
Problem: 1: nothing provides 'group(tao)' needed by the to be installed tao-cosconcurrency-4.0.4-1.x86_64
Problem: 2: nothing provides 'group(tao)' needed by the to be installed tao-cosevent-4.0.4-1.x86_64
Problem: 3: nothing provides 'group(tao)' needed by the to be installed tao-cosnaming-4.0.4-1.x86_64
Problem: 4: nothing provides 'group(tao)' needed by the to be installed tao-cosnotification-4.0.4-1.x86_64
Problem: 5: nothing provides 'group(tao)' needed by the to be installed tao-costrading-4.0.4-1.x86_64
Problem: 6: nothing provides 'group(tao)' needed by the to be installed tao-rtevent-4.0.4-1.x86_64
Problem: 1: nothing provides 'group(tao)' needed by the to be installed tao-cosconcurrency-4.0.4-1.x86_64
Solution 1: do not install tao-cosconcurrency-4.0.4-1.x86_64
Solution 2: break tao-cosconcurrency-4.0.4-1.x86_64 by ignoring some of its dependencies
Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c/d/?] (c):
leap16:/home/iulians/rpmbuild/RPMS/x86_64 #
Description
This is somehow confusing as there are already rpm scripts doing this so packages that are providing this:
leap16:/home/iulians/rpmbuild/RPMS/x86_64 # rpm -i tao-cosconcurrency-4.0.4-1.x86_64.rpm
error: Failed dependencies:
group(tao) is needed by tao-cosconcurrency-4.0.4-1.x86_64
user(tao) is needed by tao-cosconcurrency-4.0.4-1.x86_64
leap16:/home/iulians/rpmbuild/RPMS/x86_64 # rpm -q --scripts -p tao-cosconcurrency-4.0.4-1.x86_64.rpm | head
preinstall scriptlet (using /bin/sh):
getent group tao >/dev/null || /usr/sbin/groupadd -r tao
getent passwd tao >/dev/null || \
/usr/sbin/useradd -r -g tao -d /etc/tao -s /sbin/nologin \
-c "TAO Services" tao
exit 0
# ================================================================
leap16:/home/iulians/rpmbuild/RPMS/x86_64 #
The package should be modified so that it looks it provides user(tao) and group(tao)
leap16:/home/iulians/rpmbuild/RPMS/x86_64 # rpm -q --provides tao-cosnotification-4.0.4-1.x86_64.rpm
config(tao-cosnotification) = 4.0.4-1
sysvinit(tao-cosnotification)
tao-cosnotification = 4.0.4-1
tao-cosnotification(x86-64) = 4.0.4-1
leap16:/home/iulians/rpmbuild/RPMS/x86_64 #
Running this command shows the scripts by which add this user and group:
/home/iulians/rpmbuild/RPMS/x86_64# ls | xargs -I {} sh -c "echo {} ; rpm -q --scripts -p {} | grep -C2 -E 'useradd|groupadd'"
These packages already do this:
- tao-cosconcurrency-4.0.4-1.x86_64.rpm
- tao-cosevent-4.0.4-1.x86_64.rpm
- tao-cosnaming-4.0.4-1.x86_64.rpm
- tao-cosnotification-4.0.4-1.x86_64.rpm
- tao-costrading-4.0.4-1.x86_64.rpm
- tao-rtevent-4.0.4-1.x86_64.rpm
But they are not mentioned as providing this; for example:
leap16:/home/iulians/rpmbuild/RPMS/x86_64 # rpm -q --provides -p tao-cosconcurrency-4.0.4-1.x86_64.rpm
config(tao-cosconcurrency) = 4.0.4-1
sysvinit(tao-cosconcurrency)
tao-cosconcurrency = 4.0.4-1
tao-cosconcurrency(x86-64) = 4.0.4-1
leap16:/home/iulians/rpmbuild/RPMS/x86_64 #
At the same time it requires, even if it provides it:
leap16:/home/iulians/rpmbuild/RPMS/x86_64 # rpm -q --requires -p tao-cosconcurrency-4.0.4-1.x86_64.rpm | grep "(tao)"
group(tao)
user(tao)
leap16:/home/iulians/rpmbuild/RPMS/x86_64 #
This problem was not seen with 8.0.2 / 4.0.2
/home/ # rpm -q --requires tao-cosconcurrency
/bin/bash
/bin/sh
/bin/sh
/bin/sh
/bin/sh
config(tao-cosconcurrency) = 4.0.2-1
libACE.so.8.0.2()(64bit)
libTAO.so.4.0.2()(64bit)
libTAO_AnyTypeCode.so.4.0.2()(64bit)
libTAO_CodecFactory.so.4.0.2()(64bit)
libTAO_CosConcurrency.so.4.0.2()(64bit)
libTAO_CosConcurrency_Serv.so.4.0.2()(64bit)
libTAO_CosConcurrency_Skel.so.4.0.2()(64bit)
libTAO_CosNaming.so.4.0.2()(64bit)
libTAO_PI.so.4.0.2()(64bit)
libTAO_PortableServer.so.4.0.2()(64bit)
libTAO_Svc_Utils.so.4.0.2()(64bit)
libTAO_Utils.so.4.0.2()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libm.so.6()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
logrotate
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
tao = 4.0.2
/home/ #
Any idea what change was made?
Thanks!
Version
ACE 8.0.4 / TAO 4.0.4
Host machine and operating system
Linux, openSUSE 16.0, 64 bit
Target machine and operating system (if different from host)
Compiler name and version (including patch level)
The $ACE_ROOT/ace/config.h file
No change, built with
rpmbuild -ta rpmbuild -ta ACE+TAO-src-8.0.4.tar.gzThe problem effects:
It affects installation of rpms dues to a requirement (user(tao), group(tao) that is provided already by the rpm packages.
Synopsis
Description
This is somehow confusing as there are already rpm scripts doing this so packages that are providing this:
The package should be modified so that it looks it provides user(tao) and group(tao)
Running this command shows the scripts by which add this user and group:
These packages already do this:
But they are not mentioned as providing this; for example:
At the same time it requires, even if it provides it:
This problem was not seen with 8.0.2 / 4.0.2
Any idea what change was made?
Thanks!