Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
cfengine
cfengine.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cfengine.spec of Package cfengine
# # spec file for package cfengine # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define libname libpromises %define libsoname %{libname}3 # Yes, its not FHS conformant but in sync with cfengine documentation %define basedir %{_localstatedir}/%{name} %define workdir %{basedir} # This is the place where workdir should be #%%define basedir %%{_localstatedir}/lib/%%{name} #%%define workdir %%{basedir}/work %if 0%{?suse_version} < 1500 # assume SuSEfirewall2 %define with_sfw2 1 %else # assume firewalld %define with_sfw2 0 %endif # Version of libntech needed (see git repo of core) %define libntech_hash 522ec6b3240a332884d0f67059268edd8cf30cba # pass --with-bla to enable the build %bcond_with mysql %bcond_with postgresql %bcond_with libvirt Name: cfengine Version: 3.21.0 Release: 0 Summary: Configuration management framework License: GPL-3.0-only Group: Productivity/Networking/System URL: https://cfengine.com/ Source0: https://github.com/cfengine/core/archive/refs/tags/%{version}.tar.gz#/core-%{version}.tar.gz Source1: https://github.com/cfengine/libntech/archive/%{libntech_hash}.tar.gz#/libntech-%{libntech_hash}.tar.gz Source11: cfengine.SuSEfirewall2 Source12: cf-execd.service Source13: cf-monitord.service Source14: cf-serverd.service Source15: cf-monitord Source16: cf-execd Source17: cf-serverd Source20: %{name}.cron Source21: %{name}-rpmlintrc # SLE 11 or RHEL5 autoconf does not support AM_SUBST_NOTMAKE, kkaempf@suse.de Patch2: remove-am_subst_notmake.patch # PATCH-FIX-SLE cfengine:bsc_923417.patch bsc#923417 # jkeil@suse.de -- FIPS: cfengine segmentation fault on server bootstrapping Patch10: cfengine:bsc_923417.patch Patch11: systemd_fixes.patch BuildRequires: bison BuildRequires: db-devel BuildRequires: flex BuildRequires: libacl-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: lmdb-devel BuildRequires: pam-devel BuildRequires: pcre-devel >= 8.38 BuildRequires: pkgconfig BuildRequires: pkgconfig(openssl) >= 1.0.1 # for flock BuildRequires: util-linux # for llzma BuildRequires: xz-devel BuildRequires: pkgconfig(systemd) Requires: %{libsoname} = %{version} Recommends: %{name}-documentation %{?systemd_requires} %if !%{with_sfw2} BuildRequires: firewall-macros %endif %if %{with mysql} BuildRequires: mysql-devel %endif %if %{with libvirt} BuildRequires: libvirt-devel %endif %if %{with postgresql} BuildRequires: postgresql-devel %endif %if 0%{?fedora_version} == 20 BuildRequires: perl-Exporter %endif %description CFEngine is the core of a configuration management system. It combines modeling and monitoring to move a system into compliance with a user-defined model (the Desired State). A domain-specific language is used for setting this up. %package -n %{libsoname} Summary: Shared library of cfengine Group: System/Libraries Provides: %{libname}1 = %{version} Obsoletes: %{libname}1 < %{version} %description -n %{libsoname} This package contains the shared libpromises (cfengine) library. %package -n %{libname}-devel Summary: Development package for libpromises Group: Development/Libraries/C and C++ Requires: %{libsoname} = %{version} Requires: glibc-devel Provides: %{name}-devel = %{version} Obsoletes: %{name}-devel < %{version} %description -n %{libname}-devel A character set detection library. This package contains the files needed to compile programs that use the libpromises library. %package examples Summary: CFEngine example promises Group: Documentation/Other BuildArch: noarch %description examples Lots of example promises for CFEngine. %prep %setup -q -n core-%{version} -a 1 %patch2 -p1 %patch10 -p1 %patch11 -p1 [ -d libntech ] && rmdir -v libntech ln -s libntech-%{libntech_hash} libntech ##### rpmlint #### wrong-file-end-of-line-encoding find ./examples -type f -name "*.cf" -exec perl -p -i -e 's|\r\n|\n|' {} \; %build EXPLICIT_VERSION=%{version} autoreconf -fvi -I m4 CC=cc CFLAGS="%{optflags} -fno-strict-aliasing" \ %configure \ --disable-static \ --disable-silent-rules \ --enable-fhs \ --datadir=%{_localstatedir} \ --with-workdir=%{workdir} \ %if %{with postgresql} --with-postgresql \ %endif %if %{with mysql} --with-mysql \ %endif --without-qdbm \ --without-tokyocabinet \ --with-lmdb \ --with-pthreads \ --with-openssl \ --with-pcre \ %if %{with libvirt} --with-libvirt \ %endif --with-libacl \ --with-libxml2 \ %if 0%{?rhel_version} > 0 && 0%{?rhel_version} < 700 --docdir=%{_docdir}/%{name}-%{version} \ %else --docdir=%{_docdir}/%{name} \ %endif --with-pam make %{?_smp_mflags} %check # FAIL: process_test make %{?_smp_mflags} check || : %install chmod -x ChangeLog make "DESTDIR=%{buildroot}" install # will appear in cfengine-examples rm -rf %{buildroot}/%{_docdir}/%{name}/examples install -d %{buildroot}/{%{_bindir},%{_sbindir},%{workdir}/{bin,inputs,reports}} # create dirs needed for better organizing dirs and files install -d %{buildroot}/%{basedir}/{backup,failsafe,config,plugins} # systemd: install sample cron file in docdir cp %{SOURCE20} %{buildroot}/%{_docdir}/%{name} # install systemd scripts install -d %{buildroot}%{_unitdir} install -m 0644 %{SOURCE12} %{SOURCE13} %{SOURCE14} %{buildroot}/%{_unitdir} ln -s -f service %{buildroot}/%{_sbindir}/rccf-monitord ln -s -f service %{buildroot}/%{_sbindir}/rccf-execd ln -s -f service %{buildroot}/%{_sbindir}/rccf-serverd # create symlinks for bin_PROGRAMS # because: cf-promises needs to be installed in /var/cfengine/work/bin for pre-validation of full configuration for i in cf-agent cf-execd cf-key cf-monitord cf-promises cf-runagent cf-serverd cf-upgrade; do ln -s -f %{_bindir}/${i} %{buildroot}%{workdir}/bin/${i} done rm -rf %{buildroot}/%{_libdir}/%{name}/libpromises.la # will appear in %%docdir rm -rf %{buildroot}/%{_datadir}/%{name}/ChangeLog rm -rf %{buildroot}/%{_datadir}/%{name}/README # create man pages, see https://cfengine.com/dev/issues/2989 install -d %{buildroot}/%{_mandir}/man8 for i in cf-agent cf-execd cf-key cf-monitord cf-promises cf-runagent cf-serverd do LD_LIBRARY_PATH=%{buildroot}%{_libdir}/%{name} %{buildroot}%{_bindir}/$i -M > %{buildroot}%{_mandir}/man8/$i.8 gzip -n9 %{buildroot}%{_mandir}/man8/$i.8 done # Firewall %if %{with_sfw2} install -D -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/cfengine %endif %define cf_services cf-execd.service cf-monitord.service cf-serverd.service cf-apache.service cf-hub.service cf-postgres.service cf-runalerts.service cf-reactor.service cfengine3.service %pre %service_add_pre %{cf_services} %post %service_add_post %{cf_services} %if !%{with_sfw2} %firewalld_reload %endif %preun %service_del_preun %{cf_services} %postun %service_del_postun %{cf_services} if [ $1 -eq 0 ]; then # clean up inputs cache dir on removal rm -rf %{basedir}/inputs/* fi %if !%{with_sfw2} %firewalld_reload %endif %post -n %{libsoname} -p /sbin/ldconfig %postun -n %{libsoname} -p /sbin/ldconfig %files %license LICENSE %doc ChangeLog README.md %{_bindir}/cf-agent %{_bindir}/cf-check %{_bindir}/cf-execd %{_bindir}/cf-key %{_bindir}/cf-net %{_bindir}/cf-monitord %{_bindir}/cf-promises %{_bindir}/cf-secret %{_bindir}/cf-serverd %{_bindir}/cf-support %{_bindir}/cf-upgrade %{_bindir}/cf-runagent %{_bindir}/rpmvercmp %{_sbindir}/rccf-execd %{_sbindir}/rccf-monitord %{_sbindir}/rccf-serverd %{_unitdir}/*.service %if %{with_sfw2} %config %dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d %config %dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/cfengine %endif %{_mandir}/man8/* %dir %{basedir} %dir %{workdir} %{workdir}/* %{_docdir}/%{name}/cfengine.cron %files -n %{libsoname} %dir %{_libdir}/%{name} %{_libdir}/%{name}/%{libname}.so.* %files -n %{libname}-devel %{_libdir}/%{name}/%{libname}.so %files examples %doc examples/*cf %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor