* [PATCH 0/2] Add recipes of cfengine and its dependency tokyocabinet
@ 2016-07-18 1:06 kai.kang
2016-07-18 1:06 ` [PATCH 1/2] tokyocabinet: add recipe kai.kang
2016-07-18 1:06 ` [PATCH 2/2] cfengine: add recipe and base policy kai.kang
0 siblings, 2 replies; 3+ messages in thread
From: kai.kang @ 2016-07-18 1:06 UTC (permalink / raw)
To: openembedded-devel
From: Kai Kang <kai.kang@windriver.com>
Kai Kang (2):
tokyocabinet: add recipe
cfengine: add recipe and base policy
.../remove-policy-of-usr-local-sbin.patch | 28 +++++++++
.../cfengine/cfengine-masterfiles_3.9.0.bb | 37 +++++++++++
.../cfengine/change-hard-coded-lib-path.patch | 28 +++++++++
.../cfengine/set-path-of-default-config-file.patch | 23 +++++++
.../recipes-extended/cfengine/cfengine_3.9.0.bb | 71 ++++++++++++++++++++++
.../remove-hard-coded-include-and-lib-paths.patch | 43 +++++++++++++
.../tokyocabinet/tokyocabinet_1.4.48.bb | 27 ++++++++
7 files changed, 257 insertions(+)
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
create mode 100644 meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch
create mode 100644 meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
--
2.6.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] tokyocabinet: add recipe
2016-07-18 1:06 [PATCH 0/2] Add recipes of cfengine and its dependency tokyocabinet kai.kang
@ 2016-07-18 1:06 ` kai.kang
2016-07-18 1:06 ` [PATCH 2/2] cfengine: add recipe and base policy kai.kang
1 sibling, 0 replies; 3+ messages in thread
From: kai.kang @ 2016-07-18 1:06 UTC (permalink / raw)
To: openembedded-devel
From: Kai Kang <kai.kang@windriver.com>
tokyocabinet is a modern implementation of DBM. And we will use it as
default database for cfengine.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
.../remove-hard-coded-include-and-lib-paths.patch | 43 ++++++++++++++++++++++
.../tokyocabinet/tokyocabinet_1.4.48.bb | 27 ++++++++++++++
2 files changed, 70 insertions(+)
create mode 100644 meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch
create mode 100644 meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
diff --git a/meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch b/meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch
new file mode 100644
index 0000000..a8ab23d
--- /dev/null
+++ b/meta-oe/recipes-support/tokyocabinet/tokyocabinet/remove-hard-coded-include-and-lib-paths.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+There are hardcode paths in configure.in eg: /usr/include, $HOME/include etc.
+These paths will cause Makefile to search host path when doing cross-compiling.
+and bitbake will prompt this as an error. So remove them.
+
+Signed-off-by: Song.Li <Song.Li@windriver.com>
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ configure.in | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index bcfd5bc..5b24947 100644
+--- a/configure.in
++++ b/configure.in
+@@ -32,21 +32,15 @@ MYPCFILES="tokyocabinet.pc"
+
+ # Building flags
+ MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char -O2"
+-MYCPPFLAGS="-I. -I\$(INCLUDEDIR) -I$HOME/include -I/usr/local/include"
++MYCPPFLAGS="-I."
+ MYCPPFLAGS="$MYCPPFLAGS -DNDEBUG -D_GNU_SOURCE=1 -D_REENTRANT -D__EXTENSIONS__"
+-MYLDFLAGS="-L. -L\$(LIBDIR) -L$HOME/lib -L/usr/local/lib"
++MYLDFLAGS="-L."
+ MYCMDLDFLAGS=""
+ MYRUNPATH="\$(LIBDIR)"
+ MYLDLIBPATHENV="LD_LIBRARY_PATH"
+ MYPOSTCMD="true"
+
+ # Building paths
+-PATH="$PATH:$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
+-PATH="$PATH:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/xpg4/bin:/usr/xpg6/bin:/usr/ucb"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-PKG_CONFIG_PATH="$HOME/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
+ export PATH CPATH LIBRARY_PATH LD_LIBRARY_PATH PKG_CONFIG_PATH
+
+
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb b/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
new file mode 100644
index 0000000..9f75cf0
--- /dev/null
+++ b/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
@@ -0,0 +1,27 @@
+#
+# Copyright (C) 2012 - 2016 Wind River Systems, Inc.
+#
+SUMMARY = "A modern implementation of DBM"
+
+DESCRIPTION = "Tokyo Cabinet is a library of routines for managing a database. \
+The database is a simple data file containing records, each is a pair of a key \
+and a value. Every key and value is serial bytes with variable length. \
+Both binary data and character string can be used as a key and a value. \
+There is neither concept of data tables nor data types. \
+Records are organized in hash table, B+ tree, or fixed-length array."
+
+HOMEPAGE = "http://fallabs.com/tokyocabinet/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+SRC_URI = "http://fallabs.com/tokyocabinet/${BP}.tar.gz \
+ file://remove-hard-coded-include-and-lib-paths.patch \
+"
+
+SRC_URI[md5sum] = "fd03df6965f8f56dd5b8518ca43b4f5e"
+SRC_URI[sha256sum] = "a003f47c39a91e22d76bc4fe68b9b3de0f38851b160bbb1ca07a4f6441de1f90"
+
+DEPENDS = "bzip2 zlib"
+
+inherit autotools-brokensep
--
2.6.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] cfengine: add recipe and base policy
2016-07-18 1:06 [PATCH 0/2] Add recipes of cfengine and its dependency tokyocabinet kai.kang
2016-07-18 1:06 ` [PATCH 1/2] tokyocabinet: add recipe kai.kang
@ 2016-07-18 1:06 ` kai.kang
1 sibling, 0 replies; 3+ messages in thread
From: kai.kang @ 2016-07-18 1:06 UTC (permalink / raw)
To: openembedded-devel
From: Kai Kang <kai.kang@windriver.com>
Add recipes of cfengine and cfengine-masterfiles which provides base
policy files.
There are 3 optional database backend: qdbm, tokyocabinet and lmdb with
descending priority. Package tokyocabinet is released as a rework of
qdbm by same upstream author, so it is choosen to be default database
backend.
See:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452657
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
.../remove-policy-of-usr-local-sbin.patch | 28 +++++++++
.../cfengine/cfengine-masterfiles_3.9.0.bb | 37 +++++++++++
.../cfengine/change-hard-coded-lib-path.patch | 28 +++++++++
.../cfengine/set-path-of-default-config-file.patch | 23 +++++++
.../recipes-extended/cfengine/cfengine_3.9.0.bb | 71 ++++++++++++++++++++++
5 files changed, 187 insertions(+)
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch
create mode 100644 meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
diff --git a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
new file mode 100644
index 0000000..3f8debc
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/remove-policy-of-usr-local-sbin.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Inappropriate [configuration]
+
+Directory /usr/local is not used for us. Remove the policy that not to install
+binaries to /usr/local/sbin.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/cfe_internal/update/update_bins.cf b/cfe_internal/update/update_bins.cf
+index 1796caa..697af0d 100644
+--- a/cfe_internal/update/update_bins.cf
++++ b/cfe_internal/update/update_bins.cf
+@@ -55,16 +55,6 @@ bundle agent cfe_internal_bins
+ depth_search => u_recurse_basedir("inf"),
+ action => u_immediate;
+
+- "/usr/local/sbin/$(agents)"
+- comment => "Create symlinks of CFE binaries in /usr/local/sbin",
+- handle => canonify("cfe_internal_bins_files_sbin_$(agents)"),
+- move_obstructions => "true",
+- link_from => u_ln_s("$(sys.workdir)/bin/$(agents)");
+-
+- "/usr/local/sbin/$(agents).cfsaved"
+- comment => "Remove all .cfsaved file extension",
+- handle => canonify("cfe_internal_bins_files_remove_$(agent)_cfsaved"),
+- delete => u_tidy;
+ }
+
+ bundle agent cfe_internal_update_bins
diff --git a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
new file mode 100644
index 0000000..9d01c51
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.9.0.bb
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2014 - 2016 Wind River Systems, Inc.
+#
+SUMMARY = "Base policy for CFEngine"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
+ \
+This package is intended to provide a stable base policy for \
+installations and upgrades, and is used by CFEngine 3.6 and newer. \
+ \
+The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
+or wherever `$(sys.masterdir)` points. \
+"
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52cd3d13af93180822888ab0088e9328"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+ file://remove-policy-of-usr-local-sbin.patch \
+"
+SRC_URI[md5sum] = "b101ddcd546738af6ec91be5c297cb24"
+SRC_URI[sha256sum] = "63dec2f8649f5f2788cd463dccf47f8dbe941522acfcf3093517f983bbfa0606"
+
+inherit autotools
+
+export EXPLICIT_VERSION="${PV}"
+
+EXTRA_OECONF = "--prefix=${localstatedir}/cfengine"
+
+FILES_${PN} += "${localstatedir}/cfengine"
+
+RDEPENDS_${PN} += "python-core"
diff --git a/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch b/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch
new file mode 100644
index 0000000..2295e41
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine/change-hard-coded-lib-path.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Inappropriate [configuration]
+
+projlibdir use a hard coded lib path, this will cause error when build a 64bit
+target. So change it to suitable path.
+
+Signed-off-by: Song.Li <Song.Li@windriver.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 38e2b9c..bc6b996 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -188,7 +188,7 @@ AS_IF([test x"$enable_fhs" = xyes], [
+ fi
+
+ sbindir='${exec_prefix}/bin' # /var/cfengine/bin despite being sbin_?
+- projlibdir='${exec_prefix}/lib'
++ projlibdir='${libdir}'
+ mandir='${exec_prefix}/share/man'
+ ])
+
+--
+1.7.1
+
diff --git a/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch b/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch
new file mode 100644
index 0000000..b9526f2
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine/set-path-of-default-config-file.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Inappropriate [configuration]
+
+Set the path of default configure file.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/misc/init.d/cfengine3.in b/misc/init.d/cfengine3.in
+index d6ae26f..1dee283 100644
+--- a/misc/init.d/cfengine3.in
++++ b/misc/init.d/cfengine3.in
+@@ -101,11 +101,7 @@ if [ -z "$LOCKDIR" ]; then
+ fi
+
+ # default control file
+-if [ "$DEBIAN" = "1" ]; then
+- DEFAULT=/etc/default/cfengine3
+-else
+- DEFAULT=/etc/sysconfig/cfengine3
+-fi
++DEFAULT=/etc/default/cfengine3
+
+ if [ -f $DEFAULT ]; then
+ . $DEFAULT
diff --git a/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb b/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
new file mode 100644
index 0000000..0bd5f32
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine_3.9.0.bb
@@ -0,0 +1,71 @@
+#
+# Copyright (C) 2014 - 2016 Wind River Systems, Inc.
+#
+SUMMARY = "CFEngine is an IT infrastructure automation framework"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cd59c3650c8b7ff36bab1cc6587b097a"
+
+DEPENDS = "attr tokyocabinet"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+ file://change-hard-coded-lib-path.patch \
+ file://set-path-of-default-config-file.patch \
+"
+
+SRC_URI[md5sum] = "63da39655cfca30ca885fcc4a1bf8aa4"
+SRC_URI[sha256sum] = "32a38aedf1199c2361e1335e0d4a1d98f9efa7cd591bcb647f35c7395bb66f2d"
+
+inherit autotools systemd
+
+export EXPLICIT_VERSION="${PV}"
+
+SYSTEMD_SERVICE_${PN} = "cfengine3.service cfengine3-web.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+PACKAGECONFIG ??= "libpcre openssl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+"
+PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
+PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
+PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
+PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
+PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
+PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
+PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
+PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
+PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
+PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
+PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
+
+EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
+
+do_install_append() {
+ install -d ${D}${localstatedir}/${BPN}/bin
+ for f in `ls ${D}${bindir}`; do
+ ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
+ done
+
+ install -d ${D}${sysconfdir}/default
+ cat << EOF > ${D}${sysconfdir}/default/cfengine3
+RUN_CF_SERVERD=1
+RUN_CF_EXECD=1
+RUN_CF_MONITORD=1
+RUN_CF_HUB=0
+EOF
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
+ sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
+ fi
+}
+
+RDEPENDS_${PN} += "${BPN}-masterfiles"
--
2.6.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-07-18 1:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-18 1:06 [PATCH 0/2] Add recipes of cfengine and its dependency tokyocabinet kai.kang
2016-07-18 1:06 ` [PATCH 1/2] tokyocabinet: add recipe kai.kang
2016-07-18 1:06 ` [PATCH 2/2] cfengine: add recipe and base policy kai.kang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox