Bug #998 RPM build errors
Submitted: 5 Aug 2003 2:52 Modified: 1 Sep 2003 3:23
Reporter: Lenz Grimmer Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Packaging Severity:S3 (Non-critical)
Version:4.0.14 OS:Linux (Red Hat Linux 9)
Assigned to: Lenz Grimmer

[5 Aug 2003 2:52] Lenz Grimmer
Description:
Building MySQL-4.0.14-0.src.rpm (downloaded today) I get this:

Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.97684
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd mysql-4.0.14
+ LANG=C
+ export LANG
+ -n mysql-4.0.14
/var/tmp/rpm-tmp.97684: line 25: -n: command not found
error: Bad exit status from /var/tmp/rpm-tmp.97684 (%install)

It is caused by this part in the spec file:

%install -n mysql-%{mysql_version}
RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}

which gets translated to

cd mysql-4.0.14
LANG=C
export LANG
 -n mysql-4.0.14
RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-4.0.14

in the build script.

[...]

> Can I safely comment out everything after %install on
> that line, or will something else break?

The %install section finished successfully that way, but then
the next problem popped up:

RPM build errors:
    Installed (but unpackaged) file(s) found:
   /shared-libs.tar
   /usr/bin/mysql_fix_extensions
   /usr/bin/mysql_install
   /usr/bin/mysql_tableinfo
   /usr/bin/mysqldumpslow
   /usr/share/info/dir
   /usr/share/man/man1/mysql_fix_privilege_tables.1.gz

All this is on redhat 9 and rpm-4.2-0.69.

How to repeat:
Try to build from source RPM on Red Hat 9

Suggested fix:
Two things that should be investigated:

 o Complete the file list with the missing files and remove the temporary
   files
 o Check if we need to use "%install -n" at all
[6 Aug 2003 4:49] Lenz Grimmer
I've now fixed this in the 4.0 tree:

ChangeSet@1.1560.1.1, 2003-08-06 11:42:48+02:00, lenz@mysql.com
  Some fixes for the RPM spec file:

   - Fixed BUG#959 (libmysqld not being compiled properly)
   - Fixed BUG#998 (RPM build errors): added missing files to the
     distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
     mysql_fix_privilege_tables.1), removed "-n" from %install section.
[19 Aug 2003 0:16] Antonio Trogu
I have the same problem. How can I download the fixed source rpm?

Thanks in advance.

Antonio Trogu
[19 Aug 2003 1:07] Lenz Grimmer
There currently is no updated source RPM available - a fix will come with the
next official release of MySQL 4.0 (4.0.15). However, you can easily apply
these Changes to the RPM spec file of MySQL 4.0.14 - the diff is available in
our publik BitKeeper Source repository:

http://mysql.bkbits.net:8080/mysql-4.0/diffs/support-files/mysql.spec.sh@1.69?nav=index.ht...
[29 Aug 2003 10:02] Lenz Grimmer
The first patch did not fully resolve this issue. We don't add all the binaries
that are installed by "make install" into the RPMs intentionally.

To disable this new RPM "feature", please add the following somewhere on top of
the spec file: 

  %_unpackaged_files_terminate_build 0

I've now added this to the 4.0.15 spec file, too.
[1 Sep 2003 2:43] Håkon Innerdal
%_unpackaged_files_terminate_build 0

Shouldn't that be:

%define _unpackaged_files_terminate_build 0

regards, Håkon
[1 Sep 2003 3:23] Lenz Grimmer
Yes, you are right - corrected. Thanks for spotting this one!