Bug #36351 mysql-5.0.60 rpmbuild fails at the install section
Submitted: 25 Apr 2008 19:05 Modified: 13 Feb 2009 12:04
Reporter: Predrag Mutavdzic Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Packaging Severity:S3 (Non-critical)
Version:5.0.60 OS:Linux (Fedora 8)
Assigned to: CPU Architecture:Any
Tags: Contribution

[25 Apr 2008 19:05] Predrag Mutavdzic
Description:
+ /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/mysql-5.0.60
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/sbin/ndb_mgmd
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/sbin/ndb_cpcd
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/sbin/ndbd
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_delete_all
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_config
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_drop_index
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_select_count
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_test_platform
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_select_all
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_restore
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_mgm
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_waiter
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_desc
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_drop_table
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/bin/ndb_show_tables
extracting debug info from /var/tmp/MySQL-5.0.60-build/usr/lib/mysql/libndbclient.so.2.0.0
symlinked /usr/lib/debug/usr/lib/mysql/libndbclient.so.2.0.0.debug to /usr/lib/debug/usr/lib/mysql/libndbclient.so.debug
symlinked /usr/lib/debug/usr/lib/mysql/libndbclient.so.2.0.0.debug to /usr/lib/debug/usr/lib/mysql/libndbclient.so.2.debug
26818 blocks
+ /usr/lib/rpm/check-buildroot
/var/tmp/MySQL-5.0.60-build/usr/share/mysql-test/mysql-test-run-shell:testdir=/var/tmp/MySQL-5.0.60-build/usr/share//mysql-test
Found '/var/tmp/MySQL-5.0.60-build' in installed files; aborting
error: Bad exit status from /var/tmp/rpm-tmp.27057 (%install)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.27057 (%install)

How to repeat:
rpmbuild -ta mysql-5.0.60.tar.gz

Suggested fix:
./support-files/mysql.spec

line(s): 
 # benchdir does not fit in above model. Maybe a separate bench distribution
 make benchdir_root=$RPM_BUILD_ROOT/usr/share/
}

should be without trailing "/":
 # benchdir does not fit in above model. Maybe a separate bench distribution
 make benchdir_root=$RPM_BUILD_ROOT/usr/share
}
[30 Jun 2008 16:17] Daniel Fischer
The real error is indicated here:

+ /usr/lib/rpm/check-buildroot
/var/tmp/MySQL-5.0.60-build/usr/share/mysql-test/mysql-test-run-shell:testdir=/var/tmp/MySQL-5.0.60-build/usr/share//mysql-test
Found '/var/tmp/MySQL-5.0.60-build' in installed files; aborting
error: Bad exit status from /var/tmp/rpm-tmp.27057 (%install)

Meaning that the mysql-test-run-shell script contains the RPM build root directory as a string, namely in the testdir=... line, which is not surprising as testdir is derived from benchdir_root, which is in turn explicitly derived from RPM_BUILD_ROOT in the spec file. This is a bug.

This bug is neither D1 nor W1 nor I3. We only support RPMs on vanilla SLES and RHEL Linux. The check-buildroot script is not used by default on these platforms. There is a trivial workaround: Don't use check-buildroot.
[13 Feb 2009 12:04] Kent Boortz
The script "mysql-test-run-shell" causing this failure
is gone in the target 6.0 version