diff --git a/cf-execd.service b/cf-execd.service new file mode 100644 index 0000000..9c77067 --- /dev/null +++ b/cf-execd.service @@ -0,0 +1,9 @@ +[Unit] +Description=CFEngine Execution Daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/cf-execd + +[Install] +WantedBy=multi-user.target diff --git a/cf-monitord.service b/cf-monitord.service new file mode 100644 index 0000000..5d2670c --- /dev/null +++ b/cf-monitord.service @@ -0,0 +1,9 @@ +[Unit] +Description=CFEngine Monitoring Daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/cf-monitord + +[Install] +WantedBy=multi-user.target diff --git a/cf-serverd.service b/cf-serverd.service new file mode 100644 index 0000000..c112715 --- /dev/null +++ b/cf-serverd.service @@ -0,0 +1,9 @@ +[Unit] +Description=CFEngine Server Daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/cf-serverd + +[Install] +WantedBy=multi-user.target diff --git a/cf3-Reference.pdf b/cf3-Reference.pdf index dc3e855..9bd19b9 100644 --- a/cf3-Reference.pdf +++ b/cf3-Reference.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a523780fff9f66811e29f10a9642d0653cd6c09ca55558717bd3e02470cfea2e -size 7522390 +oid sha256:1789439f4cdfc5eea231bde0d81457a41d7095435f3c9f3ed48de9721db8c303 +size 7992964 diff --git a/cf3-conceptguide.pdf b/cf3-conceptguide.pdf new file mode 100644 index 0000000..c16f91f --- /dev/null +++ b/cf3-conceptguide.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68224b883d6f01eb0c7802fdc70cbabd8a453a733b337aea326e2bc35f93e6dd +size 981077 diff --git a/cf3-glossary.pdf b/cf3-glossary.pdf new file mode 100644 index 0000000..a7859b2 --- /dev/null +++ b/cf3-glossary.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b82a5bdcf95c9973a25bd2c268dce34e874372c2009347b65a73883c101a4710 +size 157217 diff --git a/cf3-quickstart.pdf b/cf3-quickstart.pdf new file mode 100644 index 0000000..812e96e --- /dev/null +++ b/cf3-quickstart.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a5c6bbd2a6dd2406255202b4b9c90a1f59c2e3468e4fc26c0b15b04c6d8467d +size 419346 diff --git a/cf3-solutions.pdf b/cf3-solutions.pdf new file mode 100644 index 0000000..dc4399d --- /dev/null +++ b/cf3-solutions.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d780f36796cc32a8620ccaa6d5ae9c5ad8ee8fde4c2074561a56682cdceee627 +size 2355908 diff --git a/cf3-tutorial.pdf b/cf3-tutorial.pdf new file mode 100644 index 0000000..f441bc7 --- /dev/null +++ b/cf3-tutorial.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d52d7f385f087a416b964eb0ac465ccc13f7aab4518af7e830f8144d7eb1859f +size 1201108 diff --git a/cfengine-3.2.4.tar.gz b/cfengine-3.2.4.tar.gz deleted file mode 100644 index feea3f1..0000000 --- a/cfengine-3.2.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:261cd300c0a8e22dfdb215da81633d80f3c4579e659f186f0da3d09fd2e4f272 -size 1134299 diff --git a/cfengine-3.4.0b2.tar.bz2 b/cfengine-3.4.0b2.tar.bz2 new file mode 100644 index 0000000..50910fd --- /dev/null +++ b/cfengine-3.4.0b2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a38fdf1ed79648630841ec8736e83b5439af7b399a509a0f12d0abf763b88b64 +size 4253260 diff --git a/cfengine.changes b/cfengine.changes index 6d9881f..1e29fc3 100644 --- a/cfengine.changes +++ b/cfengine.changes @@ -1,3 +1,45 @@ +------------------------------------------------------------------- +Thu Oct 4 08:48:10 UTC 2012 - kkaempf@suse.com + +- update to 3.0.4b2 + New features: + - XML editing capabilities. See the documentation for edit_xml + body. Note the new dependency: libxml2. + - Implement inheritance of local classes by bundles called using + "usebundle". By default classes are not inherited. See the + examples/unit_inherit.cf for an example. + - Moved from Nova/Enterprise: + - POSIX ACL support, + - "outputs" promise type, + - remote syslog support. + - packages_default_arch_command hook in packages promises, to + specify default architecture of the packages on the system. + - packages_version_less_command / packages_version_equal_command hooks + in packages promises, to specify external command for native package + manager versions comparison + - Running in Solaris zone is now detected and classes "zone" and + "zone_" are created in this case. + - VirtualBox support added to guest_environment promises. + - guest_environment promises are supported under OS X. + - The "depends_on" attribute is now active, for the partal ordering + of promises. If a promise depends on another (referred by handle) + it will only be considered if the depends_on list is either kept + or repaired already. + + ** WARNING: When upgrading, make sure that any existing use + of depends_on does not make some promises being + unintentionally ignored. + This can happen if you are currently refering to non-existant or + never-run handles in depends_on attributes. + - methods return values, initial implementation + - New format for cf-key -s, includes timestamp of last connection + + Changed functionality: + - cf-execd -F switch no longer implies 'run once'. New -O/--once + option is added to achieve this behaviour. This makes cf-execd + easier to run from systemd, launchd and other supervision + systems. + ------------------------------------------------------------------- Wed Feb 15 13:49:18 UTC 2012 - chris@computersalat.de diff --git a/cfengine.spec b/cfengine.spec index 38caabe..21680ca 100644 --- a/cfengine.spec +++ b/cfengine.spec @@ -22,22 +22,34 @@ Name: cfengine %define basedir /var/lib/%{name} %define workdir %{basedir}/work -Summary: A Tool to Maintain Complicated Networks +Summary: CFEngine automates large-scale IT computing infrastructure License: GPL-3.0 Group: Productivity/Networking/System -Version: 3.2.4 +Version: 3.4.0b2 Release: 0 Url: http://www.cfengine.org/ -Source: %{name}-%{version}.tar.gz +Source: %{name}-%{version}.tar.bz2 Source1: http://www.cfengine.org/manuals/cf3-Reference.pdf -Source2: cf-monitord -Source3: cf-execd -Source4: cf-serverd +Source2: http://www.cfengine.org/manuals/cf3-conceptguide.pdf +Source3: http://www.cfengine.org/manuals/cf3-glossary.pdf +Source4: http://www.cfengine.org/manuals/cf3-quickstart.pdf +Source5: http://www.cfengine.org/manuals/cf3-solutions.pdf +Source6: http://www.cfengine.org/manuals/cf3-tutorial.pdf +%if 0%{?suse_version} >= 1210 +Source7: cf-execd.service +Source8: cf-monitord.service +Source9: cf-serverd.service +%else +Source7: cf-monitord +Source8: cf-execd +Source9: cf-serverd +%endif Source10: %{name}.cron BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bison BuildRequires: db-devel BuildRequires: flex +BuildRequires: libtokyocabinet-devel BuildRequires: libtool BuildRequires: mysql-devel BuildRequires: openssl-devel @@ -54,11 +66,20 @@ PreReq: %install_info_prereq BuildRequires: texlive %endif +%if 0%{?suse_version} >= 1210 +BuildRequires: systemd +%{?systemd_requires} +%endif + %description -GNU cfengine is an abstract programming language for system -administrators of huge heterogeneous networks. With cfengine, system -administrators have an easy and elegant way to maintain complicated -networks. +CFEngine automates large-scale IT computing infrastructure: ensuring +the availability, security and compliance of mission-critical +applications and services. Based on popular and flexible open source +configuration management software, CFEngine configuration management +products are highly scalable through decentralized, autonomous agents +that can continuously monitor, self-repair, and update the IT +infrastructure of a global multi-site enterprise - with negligible +impact on system resources or performance. %package -n %{libsoname} Summary: Shared library of cfengine @@ -83,20 +104,20 @@ This package contains the files needed to compile programs that use the libguess library. %package doc -Summary: A Tool to Maintain Complicated Networks (docs) +Summary: CFEngine automates large-scale IT computing infrastructure - documentation Group: Productivity/Networking/System %if 0%{?rhel_version} || 0%{?centos_version} -BuildRequires: texinfo BuildRequires: tetex BuildRequires: tetex-dvips BuildRequires: tetex-latex +BuildRequires: texinfo %endif %description doc Full documentation for cfengine %package server -Summary: Files needed for cfengine server +Summary: CFEngine automates large-scale IT computing infrastructure - server Group: Productivity/Networking/System Requires: %{name} = %{version}-%{release} @@ -112,15 +133,6 @@ This package contains the files of the cfengine server. ### http://www.fsf.org/about/contact/ find ./examples -type f -name "*.cf" -exec perl -p -i -e 's|\r\n|\n|,s|^# Foundation.*|# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA|' {} \; -### FIXME -# there are 3 different cfengine_stdlib.cf -## as of 3.2.4 -# ./examples/cfengine_stdlib.cf - Rev: 95 -# ./examples/example_config/cfengine_stdlib.cf - Rev: 61 -# ./masterfiles/cfengine_stdlib.cf - Rev: 84 -%{__cp} -a ./examples/cfengine_stdlib.cf ./examples/example_config/ -%{__cp} -a ./examples/cfengine_stdlib.cf ./masterfiles/ - %build %if 0%{?suse_version} %{suse_update_config -f} @@ -147,14 +159,17 @@ CC=gcc CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \ %{__install} -d %{buildroot}/%{basedir}/{backup,failsafe,config} #%{__install} -d %{buildroot}/%{basedir}/config/{development,production} -# install missing AUTHORS LICENSE {S:1} -%{__install} -m0644 AUTHORS LICENSE %{S:1} %{buildroot}/%{_docdir}/%{name}/ - # install cron file %{__install} -D -m0644 %{S:10} %{buildroot}/%{_sysconfdir}/cron.d/%{name} +%if 0%{?suse_version} > 1210 +# install systemd scripts +%{__install} -D -m 0644 %{S:7} %{buildroot}/%_unitdir/cf-execd.service +%{__install} -D -m 0644 %{S:8} %{buildroot}/%_unitdir/cf-monitord.service +%{__install} -D -m 0644 %{S:9} %{buildroot}/%_unitdir/cf-serverd.service +%else # install init scripts -%{__install} -m 0755 %{S:2} %{S:3} %{S:4} %{buildroot}/etc/init.d/ +%{__install} -m 0755 %{S:7} %{S:8} %{S:9} %{buildroot}/etc/init.d/ %{__ln_s} -f ../../etc/init.d/cf-monitord %{buildroot}/%{_sbindir}/rccf-monitord %{__ln_s} -f ../../etc/init.d/cf-execd %{buildroot}/%{_sbindir}/rccf-execd %{__ln_s} -f ../../etc/init.d/cf-serverd %{buildroot}/%{_sbindir}/rccf-serverd @@ -163,24 +178,63 @@ sed -i\ -e "s,@workdir@,%{workdir},g"\ -e "s,@basedir@,%{basedir},g" \ %{buildroot}/etc/init.d/cf-* %{buildroot}/etc/cron.d/%{name} +%endif # create symlinks for sbin_PROGRAMS -for i in cf-agent cf-execd cf-key cf-know cf-monitord cf-promises cf-report cf-runagent cf-serverd; do - %{__ln_s} -f ../../../../..%{_sbindir}/${i} %{buildroot}%{workdir}/bin/${i} -done +# WHY ? +#for i in cf-agent cf-execd cf-key cf-know cf-monitord cf-promises cf-report cf-runagent cf-serverd; do +# %{__ln_s} -f ../../../../..%{_sbindir}/${i} %{buildroot}%{workdir}/bin/${i} +#done # mv all masterfiles/*.cf to masterfiles/*.cf.default -pushd %{buildroot}%{basedir}/masterfiles -for j in $(ls -1); do - cp -a * ../work/inputs/ - mv ${j} ${j}.default -done +#pushd %{buildroot}%{basedir}/masterfiles +#for j in $(ls -1); do +# cp -a * ../work/inputs/ +# mv ${j} ${j}.default +#done ## FIXME: what is the purpose of theses libs ? ## are they really needed ? #rm -rf %{buildroot}/%{_libdir}/libpromises.la #{__rm} -rf %{buildroot}/%{_libdir}/libpromises.a +# systemd +%if 0%{?suse_version} >= 1210 + +%pre +%service_add_pre cf-execd.service cf-monitord.service + +%post +%service_add_post cf-execd.service cf-monitord.service +%if 0%{?suse_version} > 1010 +%install_info --name=%{name} --info-dir=%{_infodir} %{_infodir}/cf3-reference.info.gz +%endif +/sbin/ldconfig + +%preun +%service_del_preun cf-execd.service cf-monitord.service + +%postun +%service_del_postun cf-execd.service cf-monitord.service +%if 0%{?suse_version} > 1010 +%install_info_delete --name=%{name} --info-dir=%{_infodir} %{_infodir}/cf3-reference.info.gz +%endif +/sbin/ldconfig + +%pre server +%service_add_pre cf-serverd.service + +%post server +%service_add_post cf-serverd.service + +%preun server +%service_del_preun cf-serverd.service + +%postun server +%service_del_postun cf-serverd.service + +%else # !systemd + %preun %if 0%{?suse_version} %stop_on_removal cf-monitord @@ -234,21 +288,27 @@ done fi %endif +%endif # !systemd + %post -n %{libsoname} -p /sbin/ldconfig %postun -n %{libsoname} -p /sbin/ldconfig %files %defattr(-,root,root) -%{_docdir}/%{name}/LICENSE -%exclude %{_docdir}/%{name}/AUTHORS -%exclude %{_docdir}/%{name}/ChangeLog -%exclude %{_docdir}/%{name}/README -%exclude %{_docdir}/%{name}/example_config -%exclude %{_docdir}/%{name}/examples +%doc LICENSE +%doc README /usr/sbin/* %exclude /usr/sbin/cf-serverd +%if 0%{?suse_version} >= 1210 +%_unitdir/cf-execd.service +%_unitdir/cf-monitord.service +%else %exclude /usr/sbin/rccf-serverd +%exclude /etc/init.d/cf-serverd +%config %attr(0755,root,root) /etc/init.d/* +%endif + %{_mandir}/man?/* %dir %{basedir} %{basedir} @@ -259,8 +319,6 @@ done #%exclude %{basedir}/failsafe %exclude %{workdir}/bin/cf-serverd %config(noreplace) /etc/cron.d/%{name} -%config %attr(0755,root,root) /etc/init.d/* -%exclude /etc/init.d/cf-serverd %files -n %{libsoname} %defattr(-,root,root) @@ -273,16 +331,21 @@ done %files doc %defattr(-,root,root) -%{_docdir}/%{name} -%exclude %{_docdir}/%{name}/LICENSE +%doc %{S:1} +%doc example_config +%doc examples %files server %defattr(-,root,root) %{basedir}/backup %{basedir}/config /usr/sbin/cf-serverd -/usr/sbin/rccf-serverd %{workdir}/bin/cf-serverd +%if 0%{?suse_version} >= 1210 +%_unitdir/cf-serverd.service +%else /etc/init.d/cf-serverd +/usr/sbin/rccf-serverd +%endif %changelog