Sustainable work flow for building CentOS/Red Hat RPMs from git
ellie timoney
ellie at fastmail.com
Sun Aug 7 20:00:31 EDT 2016
> It looks to me that commit f5d8e1c77d2ed40ee734eb0c5627f425c595f33f
> requires the build to be run from within a git repository.
The configure script now needs to be generated from within a git
repository, yes. If you build from a release tarball, then the
configure script is already generated, and the rest of the build will be
fine. I realise this is not exactly what you're asking, but maybe
there's a hint towards an approach in there...
If you have a git clone, you could roll your own tarball from it with
"make dist" (and it will be correctly versioned!), and then use this
tarball as the non-git source for your RPM build?
I'm curious how this process manages to "build from git" without being
git?
On Thu, Aug 4, 2016, at 10:47 PM, Sebastian Hagedorn via Cyrus-devel
wrote:
> Hi,
>
> all of our production servers run Red Hat Enterprise Linux, and for
> testing
> we use the corresponding CentOS versions. In the past I have relied on
> Simon Matter's excellent SRPMs for building our own RPMs, but so far
> there
> have been none for Cyrus 2.5.
> So I have been looking into alternatives. I started with the SPEC file
> for
> cyrus-imapd-2.53 from Kolab:
>
> <https://obs.kolabsys.com/package/show/cyrus-imapd:2.5-next/cyrus-imapd>
>
> I modified that to suit our purposes and was able to build
> cyrus-imapd-2.5.9. However, it seems more appropriate to build from git
> rather than from tarballs these days. I have looked into building RPMs
> from
> git and found tito:
>
> <https://github.com/dgoodwin/tito>
>
> I still have a problems getting the automatic tagging and updating of the
> SPEC file to work, but it looks promising. However, a recent commit
> throws
> the viability of that approach into question. It looks to me that commit
> f5d8e1c77d2ed40ee734eb0c5627f425c595f33f requires the build to be run
> from
> within a git repository. That's not the case when building an RPM. This
> is
> what happens:
>
> + autoreconf268 -vi
> autoreconf268: Entering directory `.'
> autoreconf268: configure.ac: not using Gettext
> autoreconf268: running: aclocal -I cmulocal
> fatal: Not a git repository (or any of the parent directories): .git
> configure.ac:61: error: AC_INIT should be called with package and version
> arguments
> /usr/share/aclocal-1.11/init.m4:26: AM_INIT_AUTOMAKE is expanded from...
> configure.ac:61: the top level
> autom4te268: /usr/bin/m4 failed with exit status: 1
> aclocal: /usr/bin/autom4te268 failed with exit status: 1
> autoreconf268: aclocal failed with exit status: 1
>
> How do others manage their Cyrus builds? Any other RHEL/CentOS users
> here?
> --
> .:.Sebastian Hagedorn - Weyertal 121 (Gebäude 133), Zimmer 2.02.:.
> .:.Regionales Rechenzentrum (RRZK).:.
> .:.Universität zu Köln / Cologne University - ✆ +49-221-470-89578.:.
> Email had 1 attachment:
> + Attachment2
> 1k (application/pgp-signature)
More information about the Cyrus-devel
mailing list