Commit d23eac88 authored by Natanael Copa's avatar Natanael Copa

testing/cfengine: new aport

CFEngine Configuration Management
http://cfengine.com/
parent 56f383eb
# Contributor: Franz Bettag <franz@bett.ag>
# Maintainer:
pkgname=cfengine
pkgver=3.4.4
pkgrel=0
pkgdesc="CFEngine Configuration Management"
url="http://cfengine.com/"
arch="all"
license="GPLv3"
depends=""
makedepends="tokyocabinet-dev openssl-dev pcre-dev acl-dev"
install=""
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::http://cfengine.com/source-code/download?file=$pkgname-$pkgver.tar.gz
alpinelinux.patch"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
local i
cd "$_builddir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
build() {
cd "$_builddir"
./configure --prefix=/usr \
--localstatedir=/var \
--enable-fhs \
|| return 1
make all || return 1
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/cfengine/*.la
}
md5sums="81d574a6d68f3f0a91f0803349a8b8f5 cfengine-3.4.4.tar.gz
29767a17f46a943bdaebcf8aa0631da9 alpinelinux.patch"
sha256sums="6572609851724ec8fc58c60474742e5907989462020e6c246111c2731adb6a37 cfengine-3.4.4.tar.gz
e294dc92633b2c90cb8f02d86d2269af9150a1333b4134cf9dd1f03500f9da17 alpinelinux.patch"
sha512sums="986070122a0a0d3e15f50181700cbf230c8a91a5458f0b998d32bf10fdacda016e565ec710e589341bc094dd44dcd5da77abfbf90263b6ed51898e0ddbefde21 cfengine-3.4.4.tar.gz
0d182dba55bc65a8680747d91615369795d5b6dad8ace4b3c8f5cc394ea2592c892729f142009cc3f92aea7d6b63a0575a22565fddf1a9066397a3c0ecd70172 alpinelinux.patch"
diff --git a/masterfiles/libraries/cfengine_stdlib.cf b/masterfiles/libraries/cfengine_stdlib.cf
index 13d554f..24529e8 100644
--- a/masterfiles/libraries/cfengine_stdlib.cf
+++ b/masterfiles/libraries/cfengine_stdlib.cf
@@ -2047,6 +2047,31 @@ package_update_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --need
##
+body package_method alpinelinux
+{
+ package_changes => "individual";
+
+ package_list_command => "/sbin/apk info -v";
+
+ # Remember to escape special characters like |
+
+ package_list_name_regex => "([^\s]+)-.*";
+ package_list_version_regex => "[^\s]+-([^\s]+).*";
+
+ package_name_regex => "([^\s]+)-.*";
+ package_version_regex => "[^\s]+-([^\s]+).*";
+
+ package_installed_regex => ".*";
+
+ package_name_convention => "$(name)-$(version)";
+
+
+ package_add_command => "/sbin/apk add";
+ package_delete_command => "/sbin/apk del";
+}
+
+##
+
# Single bundle for all the similar managers simplifies promises
body package_method generic
@@ -2186,6 +2211,18 @@ archlinux::
package_add_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --needed";
package_delete_command => "/usr/bin/pacman -Rs --noconfirm";
package_update_command => "/usr/bin/pacman -S --noconfirm --noprogressbar --needed";
+
+alpinelinux::
+ package_changes => "individual";
+ package_list_command => "/sbin/apk info -v";
+ package_list_name_regex => "([^\s]+)-.*";
+ package_list_version_regex => "[^\s]+-([^\s]+).*";
+ package_name_regex => "([^\s]+)-.*";
+ package_version_regex => "[^\s]+-([^\s]+).*";
+ package_installed_regex => ".*";
+ package_name_convention => "$(name)-$(version)";
+ package_add_command => "/sbin/apk add";
+ package_delete_command => "/sbin/apk del";
}
##
diff --git a/src/sysinfo.c b/src/sysinfo.c
index 557f449..56046ba 100644
--- a/src/sysinfo.c
+++ b/src/sysinfo.c
@@ -819,6 +819,12 @@ void OSClasses(void)
SetFlavour("UnitedLinux");
}
+ if (cfstat("/etc/alpine-release", &statbuf) != -1)
+ {
+ CfOut(cf_verbose, "", "This appears to be an AlpineLinux system.\n");
+ SetFlavour("alpinelinux");
+ }
+
if (cfstat("/etc/gentoo-release", &statbuf) != -1)
{
CfOut(cf_verbose, "", "This appears to be a gentoo system.\n");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment