diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-extended/chkconfig')
3 files changed, 144 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb b/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb new file mode 100644 index 000000000..c0f7f1674 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig-alternatives-native_1.3.59.bb @@ -0,0 +1,44 @@ +require recipes-extended/chkconfig/chkconfig_1.3.58.bb + +SUMMARY = "${SUMMARY_chkconfig-alternatives}" +DESCRIPTION = "${DESCRIPTION_chkconfig-alternatives}" +DEPENDS = "" +PROVIDES += "virtual/update-alternatives-native" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +# The sysroot branch is 1.3.59 + some git commits from master + --sysroot +# support for alternatives. +SRC_URI = "git://github.com/kergoth/chkconfig;branch=sysroot" +S = "${WORKDIR}/git" +UPSTREAM_CHECK_GITTAGREGEX = "chkconfig-(?P<pver>(\d+(\.\d+)+))" + +SRCREV = "cd437ecbd8986c894442f8fce1e0061e20f04dee" +PV = "1.3.59+${SRCPV}" + +inherit native + +# We want our native recipes to build using the target paths rather than paths +# into the sysroot, as we may use them to construct the rootfs. As such, we +# only adjust the paths to match the metadata for the target, not native. +obey_variables () { + sed -i 's,ALTERNATIVES_ROOT,OPKG_OFFLINE_ROOT,' alternatives.c +} + +do_compile () { + oe_runmake alternatives +} + +do_install () { + install -d ${D}${sysconfdir}/alternatives \ + ${D}${localstatedir}/lib/alternatives + + install -D -m 0755 alternatives ${D}${bindir}/alternatives + install -D -m 0644 alternatives.8 ${D}${mandir}/man8/alternatives.8 + + ln -s alternatives ${D}${bindir}/update-alternatives + ln -s alternatives.8 ${D}${mandir}/man8/update-alternatives.8 +} + +do_install_append_linuxstdbase() { + rm -rf ${D}${libdir}/lsb +} diff --git a/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch b/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch new file mode 100644 index 000000000..96d193879 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig/replace_caddr_t.patch @@ -0,0 +1,33 @@ +caddr_t is a legacy BSD type which was rejected by the POSIX standard. +Use void * instead. + +sys/unitstd.h is not needed and moreover its not available on all C library +implementations e.g. musl + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Index: chkconfig-1.3.58/alternatives.c +=================================================================== +--- chkconfig-1.3.58.orig/alternatives.c ++++ chkconfig-1.3.58/alternatives.c +@@ -22,7 +22,6 @@ + #include <stdio.h> + #include <string.h> + #include <sys/stat.h> +-#include <sys/unistd.h> + #include <unistd.h> + + #define FLAGS_TEST (1 << 0) +Index: chkconfig-1.3.58/leveldb.c +=================================================================== +--- chkconfig-1.3.58.orig/leveldb.c ++++ chkconfig-1.3.58/leveldb.c +@@ -442,7 +442,7 @@ int parseServiceInfo(int fd, char * name + fstat(fd, &sb); + + bufstart = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0); +- if (bufstart == ((caddr_t) -1)) { ++ if (bufstart == ((void*) -1)) { + close(fd); + return -1; + } diff --git a/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb b/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb new file mode 100644 index 000000000..e8390264c --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb @@ -0,0 +1,67 @@ +SUMMARY = "A system tool for maintaining the /etc/rc*.d hierarchy" +DESCRIPTION = "Chkconfig is a basic system utility. It updates and queries runlevel \ +information for system services. Chkconfig manipulates the numerous \ +symbolic links in /etc/rc.d, to relieve system administrators of some \ +of the drudgery of manually editing the symbolic links." + +RECIPE_NO_UPDATE_REASON = "Version 1.5 requires selinux" + +HOMEPAGE = "http://fedorahosted.org/releases/c/h/chkconfig" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" + +DEPENDS = "libnewt popt" +PROVIDES += "virtual/update-alternatives" + +PR = "r7" + +SRC_URI = "http://fedorahosted.org/releases/c/h/chkconfig/${BPN}-${PV}.tar.bz2 \ + file://replace_caddr_t.patch \ + " + +SRC_URI[md5sum] = "c2039ca67f2749fe0c06ef7c6f8ee246" +SRC_URI[sha256sum] = "18b497d25b2cada955c72810e45fcad8280d105f17cf45e2970f18271211de68" + +inherit gettext + +# Makefile uses RPM_OPT_FLAGS to construct CFLAGS +# +EXTRA_OEMAKE = "\ + 'RPM_OPT_FLAGS=${CFLAGS}' \ + 'LDFLAGS=${LDFLAGS}' \ + 'BINDIR=${base_sbindir}' \ + 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' \ + 'ALTDIR=${localstatedir}/lib/alternatives' \ + 'ALTDATADIR=${sysconfdir}/alternatives' \ +" + +do_unpack[postfuncs] += "obey_variables" +do_unpack[vardeps] += "obey_variables" +obey_variables () { + sed -i -e 's,/etc,${sysconfdir},; s,/lib/systemd,${base_libdir}/systemd,' ${S}/leveldb.h + sed -i -e 's,/etc/alternatives,${sysconfdir}/alternatives,' \ + -e 's,/var/lib/alternatives,${localstatedir}/lib/alternatives,' \ + -e 's,/usr/share/locale,${datadir}/locale,' ${S}/alternatives.c +} + +do_install() { + oe_runmake 'DESTDIR=${D}' 'INSTALLNLSDIR=${D}${datadir}/locale' \ + 'BINDIR=${sbindir}' install + install -d ${D}${sysconfdir}/chkconfig.d +} + +PACKAGES =+ "${PN}-alternatives ${PN}-alternatives-doc" +SUMMARY_${PN}-alternatives = "Maintain symbolic links determining default commands" +DESCRIPTION_${PN}-alternatives = "alternatives creates, removes, maintains and displays \ +information about the symbolic links comprising the alternatives system." +SUMMARY_${PN}-alternatives-doc = "${SUMMARY_${PN}-alternatives} - Documentation files" +DESCRIPTION_${PN}-alternatives-doc = "${DESCRIPTION_${PN}-alternatives} \ +This package contains documentation." +RPROVIDES_${PN}-alternatives += "update-alternatives" +RCONFLICTS_${PN}-alternatives = "update-alternatives-opkg update-alternatives-dpkg" +FILES_${PN}-alternatives = "${sbindir}/alternatives ${sbindir}/update-alternatives \ + ${sysconfdir}/alternatives ${localstatedir}/lib/alternatives" +FILES_${PN}-alternatives-doc = "${mandir}/man8/alternatives.8 \ + ${mandir}/man8/update-alternatives.8" |