spec file for rpms / rpms for AARCH64?

43 views
Skip to first unread message

Tina Friedrich

unread,
Feb 14, 2024, 12:04:16 PM2/14/24
to help-cfengine
Hello,

are the spec files used to build the cfengine-community rpm available
somewhere? (Or source rpms?) I'm trying to install it on a AlmaLinux 9.3
based AARCH64 machine - and there are no packages for that :(

I've downloaded the source & tried to build it - configure/make works
with no issues, so I'm hopeful. But I'd obviously prefer to have an RPM
for it Before I attempt to write a spec file, I thought I'd ask...

Tina

Nick Anderson

unread,
Feb 14, 2024, 1:24:53 PM2/14/24
to help-c...@googlegroups.com, Tina Friedrich

Hello,

are the spec files used to build the cfengine-community rpm available somewhere? (Or source rpms?) I'm trying to install it on a AlmaLinux 9.3 based AARCH64 machine - and there are no packages for that :(

I've downloaded the source & tried to build it - configure/make works with no issues, so I'm hopeful. But I'd obviously prefer to have an RPM for it Before I attempt to write a spec file, I thought I'd ask…

Hi Tina,

There is this in the buildscripts repo. Alternatively I think you can use rpmrebuild to get the spec from a binary package. There was some internal discussion about building rpms for aarch64 (like we do for apt) but no work is currently scheduled for that.

Does that help?

Tina Friedrich

unread,
Feb 14, 2024, 4:02:41 PM2/14/24
to help-c...@googlegroups.com
Hi Nick,

that certainly looks like it might :) I thought I'm probably just too
blind to find it.

I'll let you know how I get on tomorrow.

Tina

On 14/02/2024 18:24, 'Nick Anderson' via help-cfengine wrote:
> Hello,
>
> are the spec files used to build the cfengine-community rpm
> available somewhere? (Or source rpms?) I'm trying to install it on a
> AlmaLinux 9.3 based AARCH64 machine - and there are no packages for
> that :(
>
> I've downloaded the source & tried to build it - configure/make
> works with no issues, so I'm hopeful. But I'd obviously prefer to
> have an RPM for it Before I attempt to write a spec file, I thought
> I'd ask…
>
> Hi Tina,
>
> There is this
> <https://github.com/cfengine/buildscripts/blob/master/packaging/cfengine-community/cfengine-community.spec.in> in the buildscripts repo. Alternatively I think you can use rpmrebuild to get the spec from a binary package. There was some internal discussion about building rpms for aarch64 (like we do for apt) but no work is currently scheduled for that.
>
> Does that help?
>
> --
> You received this message because you are subscribed to the Google
> Groups "help-cfengine" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to help-cfengin...@googlegroups.com
> <mailto:help-cfengin...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/help-cfengine/87le7m6h00.fsf%40northern.tech <https://groups.google.com/d/msgid/help-cfengine/87le7m6h00.fsf%40northern.tech?utm_medium=email&utm_source=footer>.

Jerome Jean Verleyen

unread,
Sep 2, 2026, 1:27:35 PMSep 2
to help-cfengine
Hi all.

I'm in the same situation about compile cfengine 3.27.1 for some arm64 servers. I try tu use the cfengine-community.spec.in file, but it need some process to be ready as a "spec" file. Maybe a autogen.sh execution? 
Somenone could help me about this transformation? 
Or i have to follwing the process of "buildscripts" at the beginning? 

Regards

craig.c...@northern.tech

unread,
Sep 22, 2026, 9:17:10 AM (2 days ago) Sep 22
to help-cfengine
If you use the instructions in the README then the spec.in file will be used properly.


The script that handles the spec.in file is build-scripts/package and here's a link to where it is used: https://github.com/cfengine/buildscripts/blob/master/build-scripts/package#L225

You will need some pre-requisites on your build host. Something similar to what the README mentions for debian-based distributions:

---
apt update -y
apt upgrade -y
apt install -y git autoconf automake m4 make bison flex binutils libtool gcc g++ libc-dev libpam0g-dev python3 psmisc libtokyocabinet-dev libssl-dev libpcre2-dev default-jre-headless build-essential fakeroot ntp dpkg-dev debhelper pkg-config nfs-common sudo apt-utils wget libncurses5 rsync libexpat1-dev libexpat1 curl
apt purge -y emacs emacs24 libltdl-dev libltdl7
---


If you can run the following steps on an arm64 build host you should be able to build RPMs. From the README.md file:

---
Get the cfengine source code:

mkdir $HOME/cfengine
cd $HOME/cfengine
git clone --recursive --depth 1 https://github.com/cfengine/core
git clone --depth 1 https://github.com/cfengine/buildscripts
git clone --depth 1 https://github.com/cfengine/masterfiles
Set some environment variables:

export NO_CONFIGURE=1
export PROJECT=community
export BUILD_TYPE=DEBUG
export EXPLICIT_ROLE=agent
Execute the build steps and see that packages are generated:

./buildscripts/build-scripts/autogen
./buildscripts/build-scripts/clean-buildmachine
./buildscripts/build-scripts/install-dependencies
./buildscripts/build-scripts/configure
./buildscripts/build-scripts/compile
./buildscripts/build-scripts/package
---
Reply all
Reply to author
Forward
0 new messages