[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: building audit-1.6.x is broken in RHEL5[.x]

Klaus Heinrich Kiwi napsal(a):
>   I'm unable to build audit 1.6.x in RHEL5 or RHEL5 update1 (as of
> snap8) using rpmbuild. I'm directing you this report as looks like the
> problem lies in the system-config-audit package.
The correct solution is to:
* create the audit tarball using (make dist)
* remove the autotools invocations from the spec file.

This should make the build process independent of versions - or even
presence - of autotools on the build machine.  OTOH patching the build
machinery in the spec file might become more difficult.

Now, for the problems encountered while using the current tarballs:
> Seems like something is failing to replace @DATADIRNAME@ for 'share'
> while intltoolize'ing, even though there's a m4 macro within
> m4/gettext.m4 that says:
>     dnl For backward compatibility. Some Makefiles may be using this.
>     DATADIRNAME=share
> I don't understand why the AC_SUBST(DATADIRNAME) macro isn't working and
> I'd like to build the package in an unmodified RHEL5 (GA) server.
The AC_SUBST(DATADIRNAME) is performed only in a branch that isn't
executed in system-config-audit (because AM_GNU_GETTEXT has the
"external" parameter).  intltool relies on gettext providing the
substitution, and gettext stopped doing so.

> Anyone
> have a clue on how to fix this? Isn't it worth fixing it upstream?
The correct fix is to modify intltool not to rely on the substitution;
this is already fixed in later intltool versions.

> This time, seems like system-config-audit.desktop got install'ed to a wrong location:
> test -z "/applications" || mkdir -p -- "/var/tmp/audit-1.6.2-root/applications"
>  /usr/bin/install -c -m 644 'system-config-audit.desktop' '/var/tmp/audit-1.6.2-root/applications/system-config-audit.desktop'
> In the generated Makefile, I see:
> applicationsdir = $(datarootdir)/applications
> but no other references to datarootdir
datarootdir is only provided by autoconf >= 2.59c; the autoconf in RHEL5
is too old.  This problem happens only because configure is regenerated
during the build process.

As a workaround, the attached spec file change works for me when
building rawhide audit-1.6.2-3 on RHEL5.

> btw, why is there a 'Makefile.in.in~' file inside
> system-config-audit/po?
Because the audit distribution tarball is apparently created manually,
and the file was accidentally packaged as well.
--- audit.spec.hack	2007-10-11 03:41:04.000000000 +0200
+++ audit.spec	2007-10-11 04:02:01.000000000 +0200
@@ -83,8 +83,8 @@
 mkdir -p $RPM_BUILD_ROOT/%{_lib}
 mkdir -p $RPM_BUILD_ROOT/%{_libdir}/audit
 mkdir -p $RPM_BUILD_ROOT/%{_var}/log/audit
-make -C system-config-audit DESTDIR=$RPM_BUILD_ROOT install-fedora
+make DESTDIR=$RPM_BUILD_ROOT datarootdir=%{_datadir} DATADIRNAME=share install
+make -C system-config-audit DESTDIR=$RPM_BUILD_ROOT datarootdir=%{_datadir} DATADIRNAME=share install-fedora
 mkdir -p $RPM_BUILD_ROOT/%{_libdir}
 # This winds up in the wrong place when libtool is involved

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]