[OE-core] [RFC - WIP v2 01/10] conf-files: New recipe to create single recipe for config files
Saul Wold
sgw at linux.intel.com
Thu Jun 12 05:56:20 UTC 2014
This recipe will create 1 package for config files, we could optionally add
a bbclass file to ensure consistency with RRECOMMENDS_ = =conf
This is a work in progress, the do_install might even beable to automagically
generated. We don't want to create a bbclass for these since it will cause
the actual recipe/packaging to become machine specific, using this recipe will
ioslate that.
[YOCTO #4011]
Signed-off-by: Saul Wold <sgw at linux.intel.com>
---
meta/classes/conf-files.bbclass | 3 +
meta/recipes-bsp/conf-files/conf-files_1.0.bb | 84 +++++++++++++++++++++++++++
2 files changed, 87 insertions(+)
create mode 100644 meta/classes/conf-files.bbclass
create mode 100644 meta/recipes-bsp/conf-files/conf-files_1.0.bb
diff --git a/meta/classes/conf-files.bbclass b/meta/classes/conf-files.bbclass
new file mode 100644
index 0000000..b937268
--- /dev/null
+++ b/meta/classes/conf-files.bbclass
@@ -0,0 +1,3 @@
+
+
+RRECOMMENDS_${PN} = "${PN}-conf"
diff --git a/meta/recipes-bsp/conf-files/conf-files_1.0.bb b/meta/recipes-bsp/conf-files/conf-files_1.0.bb
new file mode 100644
index 0000000..de7d893
--- /dev/null
+++ b/meta/recipes-bsp/conf-files/conf-files_1.0.bb
@@ -0,0 +1,84 @@
+SUMMARY = "Configuartion files master recipe"
+DESCRIPTION = "This package provides Configuration files for different packages that may need some kind of customization on a BSP level"
+
+LICENSE = "BSD || MIT || GPLv2"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+SRC_URI = ""
+S = "${WORKDIR}"
+
+
+CONF_PACKAGES = " \
+ apmd \
+ alsa-state \
+ connman \
+ formfactor \
+ init-ifupdown \
+ pointercal \
+ xinput-calibrator \
+ xorg-xf86-config \
+ "
+
+# bluze4 \
+# bluez5 \
+# keymaps \
+# tslib \
+#
+
+CONF_PACKAGES[apmd] = "${datadir}/apmd/apmd_proxy.conf"
+CONF_SUMMARY[apmd] = ""
+CONF_DESCRIPTION[apmd] = ""
+CONF_PACKAGES[alsa-state] = "${sysconfdir}/asound.conf"
+CONF_PACKAGES[bluez4] = "${sysconfdir}/dbus-1/system.d/bluetooth.conf"
+CONF_PACKAGES[bluez5] = "${sysconfdir}/dbus-1/system.d/bluetooth.conf"
+CONF_PACKAGES[connman] = "${localstatedir}/lib/connman/wired.config ${libdir}/connman/wired-setup"
+CONF_PACKAGES[formfactor] = "${sysconfdir}/formfactor/machconfig"
+CONF_PACKAGES[init-ifupdown] = "${sysconfdir}/network/interfaces"
+CONF_PACKAGES[pointercal] = "${sysconfdir}/pointercal"
+CONF_PACKAGES[tslib] = "${sysconfdir}/ts.conf"
+DEBIAN_NORENAME = "1"
+
+CONF_PACKAGES[xinput-calibrator] = "${sysconfdir}/pointercal.xinput"
+RCONFLICTS_xinput-calibrator = "pointercal.xinput"
+RPROVIDES_xinput-calibrator = "pointercal.xinput"
+RREPLACES_xinput-calibrator = "pointercal.xinput"
+
+CONF_PACKAGES[xorg-xf86-config] = "${sysconfdir}/X11/xorg.conf"
+CONF_PACKAGES_NOAPPEND[xorg-xf86-config] = "1"
+
+PACKAGES = ""
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+INHIBIT_DEFAULT_DEPS = "1"
+
+python __anonymous() {
+
+ do_install_cmd = ""
+ packages = (d.getVar('CONF_PACKAGES', True) or "").split()
+ for pn in packages:
+ if not d.getVarFlag('CONF_PACKAGES_NOAPPEND', pn):
+ pn_conf = pn + "-conf"
+ else:
+ pn_conf = pn
+
+ d.appendVar('PACKAGES', pn_conf + " ")
+ d.setVar('ALLOW_EMPTY_' + pn_conf, "1")
+ d.setVar('FILES_' + pn_conf, "")
+ d.setVar('CONFFILES_' + pn_conf, "")
+ conf_paths = (d.getVarFlag('CONF_PACKAGES', pn, True) or "").split()
+ print("conf_paths: %s" % (conf_paths))
+ for conf_path in conf_paths:
+ print("conf_path: %s" % (conf_path))
+ conf_dir = os.path.dirname(conf_path)
+ conf_file = os.path.basename(conf_path)
+ d.appendVar('SRC_URI', 'file://' + conf_file + " ")
+ d.appendVar('FILES_' + pn_conf, conf_path + " ")
+ d.appendVar('CONFFILES_' + pn_conf, conf_path + " ")
+
+ # Build do_install() fragment for each config file, only if it exists
+ do_install_cmd = do_install_cmd + "if test -s ${S}/" + conf_file + "; then\n"
+ do_install_cmd = do_install_cmd + "\tinstall -d ${D}" + conf_dir + "\n"
+ do_install_cmd = do_install_cmd + "\tinstall -m 0644 ${S}/" + conf_file + " ${D}" + conf_dir + "\n"
+ do_install_cmd = do_install_cmd + "fi\n"
+
+ d.setVar('do_install', do_install_cmd)
+}
--
1.8.3.2
More information about the Openembedded-core
mailing list