Bug 111678

Summary: Building MySQL from source rpm gives weird dependencies
Product: [Retired] Red Hat Linux Reporter: Berthold Cogel <cogel>
Component: rpm-buildAssignee: Jeff Johnson <jbj>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 9   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-12-11 13:23:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Berthold Cogel 2003-12-08 17:10:58 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4)
Gecko/20030624

Description of problem:
Rebuilding MySQL from source rpm from mysql.org gives wrong
dependencies for resulting rpms:

perl(this) is needed by MySQL-bench-4.0.15-0
perl(the) is needed by MySQL-client-4.0.15-0

Version-Release number of selected component (if applicable):
rpm-build-4.2-0.69

How reproducible:
Always

Steps to Reproduce:
1. rpmbuild --recompile MySQL-4.0.15-0.src.rpm
2. rpm -i --test /usr/src/redhat/RPMS/i386/MySQL-bench-4.0.15-0.i386.rpm
3. rpm -i --test usr/src/redhat/RPMS/i386/MySQL-client-4.0.15-0.i386.rpm 
    

Actual Results:  rpmbuild --recompile MySQL-4.0.15-0.src.rpm

.....

Processing files: MySQL.rrz-bench-4.0.15-0
Provides: mysql-bench
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/sh /usr/bin/perl MySQL.rrz-client libc.so.6
libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libcrypt.so.1 libcrypto.so.4
libm.so.6 libmysqlclient.so.12 libmysqlclient_r.so.12 libnsl.so.1
libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1)
libpthread.so.0(GLIBC_2.3.2) libssl.so.4 libstdc++.so.5 libz.so.1
perl(Benchmark) perl(DBI) perl(Data::Dumper) perl(Getopt::Long) perl
(sigtrap) perl(this)
Obsoletes: mysql-bench

......

Processing files: MySQL.rrz-client-4.0.15-0
Provides: mysql-client
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/sh /usr/bin/perl libc.so.6 libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3) libcrypt.so.1 libcrypto.so.4 libm.so.6
libmysqlclient.so.12 libncurses.so.5 libnsl.so.1 libpthread.so.0
libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.3.2) libssl.so.4
libstdc++.so.5 libz.so.1 perl(CGI) perl(DBI) perl(Exporter)
perl(Fcntl) perl(Getopt::Long) perl(IPC::Open3) perl(POSIX)
perl(Sys::Hostname) perl(strict) perl(the)
Obsoletes: mysql-client

..........


------------

rpm -i --test /usr/src/redhat/RPMS/i386/MySQL-bench-4.0.15-0.i386.rpm 
error: Failed dependencies:
        MySQL-client is needed by MySQL-bench-4.0.15-0
        perl(this) is needed by MySQL-bench-4.0.15-0

--------------

rpm -i --test /usr/src/redhat/RPMS/i386/MySQL-client-4.0.15-0.i386.rpm 
error: Failed dependencies:
        perl(the) is needed by MySQL-client-4.0.15-0


Additional info:

Happens with Redhat 8 and 9. Works fine with older versions and
Advanced Server

Comment 1 Jeff Johnson 2003-12-11 13:23:31 UTC
Yup. perl regexes misfire on certain syntactic constructs.

Basically you will need to filter unwanted dependencies.

See other CPAN packages (or perl itself) for how to do this.