You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2006/09/02 15:19:10 UTC

[Bug 5078] New: rpmbuild failure in CentOS-4.3 x86_64

http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078

           Summary: rpmbuild failure in CentOS-4.3 x86_64
           Product: Spamassassin
           Version: 3.1.4
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Building & Packaging
        AssignedTo: dev@spamassassin.apache.org
        ReportedBy: ian.harris@axamba.com


When building spamassassin on a CentOS-4.3 x86_64 box using

rpmbuild -tb Mail-SpamAssassin-3.1.5.tar.gz

It fails with

RPM build errors:
    File must begin with "/": %{_initrddir}/spamassassin

I also saw this with 3.1.3 and 3.1.4

There is no problem when installing via CPAN but would obviously be nice to 
have this installed as an RPM for package management purposes.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078





------- Additional Comments From ian.harris@axamba.com  2006-09-02 16:18 -------
Ah:

[root@purple rpm]# rpmbuild --showrc | grep initrd
[root@purple rpm]# 

It's just the stock install of rpm-build that ships with CentOS.

A quick edit of /usr/lib/rpm/macros with

%_initrddir             /etc/rc.d/init.d

Fixes the problem.  How strange.

Ian



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078





------- Additional Comments From ian.harris@axamba.com  2006-09-02 13:21 -------
Created an attachment (id=3680)
 --> (http://issues.apache.org/SpamAssassin/attachment.cgi?id=3680&action=view)
Relevant output from rpmbuild




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078


felicity@apache.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME




------- Additional Comments From felicity@apache.org  2006-09-04 04:31 -------
Closing the ticket as worksforme since the issue is with the installation and
not SA.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078





------- Additional Comments From radek@pld-linux.org  2006-09-04 22:35 -------
(In reply to comment #5)
> Closing the ticket as worksforme since the issue is with the installation and
> not SA.

RPM macros are not standarised in any way.  Just because some macro is available
in a number of distributions, doesn't mean it is (or should be) everywhere.
You can expect %_bindir or %_sysconfdir to be defined, but not the rarely used
macros.  That's why the patch for bug 5003 is so big.

LSB 3.1.0 defines the /etc/init.d directory, so hard-coding this path might be
an acceptable solution.  Can be done conditionally:

%define initdir /etc/init.d
%if 0%{_initrddir}
%define initdir %{_initrddir}
%endif


Not reopening, as I haven't tested on CentOS, but -- if it really doesn't
contain this macro -- this *is* a SA issue.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078





------- Additional Comments From felicity@apache.org  2006-09-05 00:00 -------
(In reply to comment #6)
> RPM macros are not standarised in any way.  Just because some macro is available
> in a number of distributions, doesn't mean it is (or should be) everywhere.

Perhaps.  In this case, CentOS is based on RedHat Enterprise (which is
semi-based on Fedora Core), all of which define the macro if the correct package
is installed.  Specifically, installing the redhat-rpm-config RPM for CentOS 4.3:

http://mirrors.kernel.org/centos/4.3/os/i386/CentOS/RPMS/redhat-rpm-config-8.0.32.1-1.noarch.rpm

would include the macros file that defines _initrddir.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078





------- Additional Comments From felicity@apache.org  2006-09-02 16:32 -------
(In reply to comment #3)
> It's just the stock install of rpm-build that ships with CentOS.

FWIW, on my system (Fedora 4) it's defined in /usr/lib/rpm/redhat/macros, which
is from redhat-rpm-config.  Perhaps there's a simliar package for CentOS ?



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 5078] rpmbuild failure in CentOS-4.3 x86_64

Posted by bu...@bugzilla.spamassassin.org.
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5078





------- Additional Comments From felicity@apache.org  2006-09-02 16:04 -------
It appears that your rpmbuild doesn't define the _initrddir macro like it should
be (aka: broken rpm installation).  Do something like this and see what it does:

rpmbuild --showrc | grep initrd

mine returns:

-14: _initrddir %{_sysconfdir}/rc.d/init.d

which is expected.  (_sysconfdir ends up being defined as /etc, btw.)



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.