From b690e936c769b7583080405c7300ac419ab5623c Mon Sep 17 00:00:00 2001 From: xSmurf Date: Thu, 29 Nov 2018 11:27:38 -0500 Subject: [PATCH] Adding the following to citadel: - efivar - efibootmgr - iw --- .../packagegroup-citadel-base.bb | 3 ++ .../efibootmgr/efibootmgr_0.16.bb | 27 +++++++++++ .../recipes-support/efivar/efivar_36.bb | 36 +++++++++++++++ ...on-t-use-git-describe-for-versioning.patch | 42 +++++++++++++++++ .../iw/iw/separate-objdir.patch | 35 ++++++++++++++ meta-citadel/recipes-support/iw/iw_4.14.bb | 34 ++++++++++++++ ...fix-libnl-3.4.0-musl-compile-problem.patch | 39 ++++++++++++++++ .../libnl/libnl/fix-pc-file.patch | 17 +++++++ .../recipes-support/libnl/libnl_3.4.0.bb | 46 +++++++++++++++++++ 9 files changed, 279 insertions(+) create mode 100644 meta-citadel/recipes-support/efibootmgr/efibootmgr_0.16.bb create mode 100644 meta-citadel/recipes-support/efivar/efivar_36.bb create mode 100644 meta-citadel/recipes-support/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch create mode 100644 meta-citadel/recipes-support/iw/iw/separate-objdir.patch create mode 100644 meta-citadel/recipes-support/iw/iw_4.14.bb create mode 100644 meta-citadel/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch create mode 100644 meta-citadel/recipes-support/libnl/libnl/fix-pc-file.patch create mode 100644 meta-citadel/recipes-support/libnl/libnl_3.4.0.bb diff --git a/meta-citadel/recipes-citadel/packagegroups/packagegroup-citadel-base.bb b/meta-citadel/recipes-citadel/packagegroups/packagegroup-citadel-base.bb index 722313d..a1d6962 100644 --- a/meta-citadel/recipes-citadel/packagegroups/packagegroup-citadel-base.bb +++ b/meta-citadel/recipes-citadel/packagegroups/packagegroup-citadel-base.bb @@ -68,4 +68,7 @@ RDEPENDS_${PN} = "\ wireguard-tools \ resolvconf \ udisks2 \ + efivar \ + efibootmgr \ + iw \ " diff --git a/meta-citadel/recipes-support/efibootmgr/efibootmgr_0.16.bb b/meta-citadel/recipes-support/efibootmgr/efibootmgr_0.16.bb new file mode 100644 index 0000000..6497e09 --- /dev/null +++ b/meta-citadel/recipes-support/efibootmgr/efibootmgr_0.16.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager." +SUMMARY = "EFI Boot Manager" +HOMEPAGE = "https://github.com/rhinstaller/efibootmgr" +SECTION = "base" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +DEPENDS = "pciutils zlib efivar" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRCREV = "a5103251a11663adddc85c86e0b8d3d3b73cbb4a" +SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \ + " +S = "${WORKDIR}/git" + +inherit pkgconfig + +EXTRA_OEMAKE = "'EFIDIR=/' 'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/include `pkg-config --cflags efivar`'" + +CFLAGS_append_toolchain-clang = " -Wno-error" +do_install () { + install -D -p -m0755 ${B}/src/efibootmgr ${D}/${sbindir}/efibootmgr +} + +CLEANBROKEN = "1" diff --git a/meta-citadel/recipes-support/efivar/efivar_36.bb b/meta-citadel/recipes-support/efivar/efivar_36.bb new file mode 100644 index 0000000..d21038e --- /dev/null +++ b/meta-citadel/recipes-support/efivar/efivar_36.bb @@ -0,0 +1,36 @@ +SUMMARY = "Tools to manipulate UEFI variables" +DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility" +HOMEPAGE = "https://github.com/rhinstaller/efivar" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" + +PV = "36" +SRC_NAME = "efivar" +SRC_URI = "https://github.com/rhboot/efivar/releases/download/${PV}/${SRC_NAME}-${PV}.tar.bz2" +SRC_URI[md5sum] = "e98140ab7105e90059dc57a67c8c07e9" +SRC_URI[sha256sum] = "94bfccc20889440978a85f08d5af4619040ee199001b62588d47d676f58c0d33" + +S = "${WORKDIR}/${SRC_NAME}-${PV}" + +#inherit autotools pkgconfig +inherit pkgconfig autotools + +do_configure () { + : +} + +do_compile () { + cd ${S}/src + make + : +#oe_runmake +} + +#do_install () { +# oe_runmake install DESTDIR=${D} +#} + +#do_install_append_class-native() { +# install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids +#} diff --git a/meta-citadel/recipes-support/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch b/meta-citadel/recipes-support/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch new file mode 100644 index 0000000..789ce00 --- /dev/null +++ b/meta-citadel/recipes-support/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch @@ -0,0 +1,42 @@ +Subject: [PATCH] iw: version.sh: don't use git describe for versioning + +It will detect top-level git repositories like the Angstrom setup-scripts and break. + +Upstream-Status: Pending + +Signed-off-by: Koen Kooi +Signed-off-by: Maxin B. John +--- +diff -Naur iw-4.7-orig/version.sh iw-4.7/version.sh +--- iw-4.7-orig/version.sh 2016-05-31 12:52:46.000000000 +0300 ++++ iw-4.7/version.sh 2016-06-01 11:21:58.307409060 +0300 +@@ -15,27 +15,7 @@ + SRC_DIR=$(cd ${SRC_DIR}; pwd) + cd "${SRC_DIR}" + +-v="" +-if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then +- git update-index --refresh --unmerged > /dev/null +- descr=$(git describe --match=v* 2>/dev/null) +- if [ $? -eq 0 ]; then +- # on git builds check that the version number above +- # is correct... +- if [ "${descr%%-*}" = "v$VERSION" ]; then +- v="${descr#v}" +- if git diff-index --name-only HEAD | read dummy ; then +- v="$v"-dirty +- fi +- fi +- fi +-fi +- +-# set to the default version when failed to get the version +-# information with git +-if [ -z "${v}" ]; then +- v="$VERSION" +-fi ++v="$VERSION" + + echo '#include "iw.h"' > "$OUT" + echo "const char iw_version[] = \"$v\";" >> "$OUT" + diff --git a/meta-citadel/recipes-support/iw/iw/separate-objdir.patch b/meta-citadel/recipes-support/iw/iw/separate-objdir.patch new file mode 100644 index 0000000..0ea6a52 --- /dev/null +++ b/meta-citadel/recipes-support/iw/iw/separate-objdir.patch @@ -0,0 +1,35 @@ +Subject: [PATCH] Support separation of SRCDIR and OBJDIR + +Typical use of VPATH to locate the sources. + +Upstream-Status: Pending + +Signed-off-by: Christopher Larson +Signed-off-by: Maxin B. John +--- +diff -Naur iw-4.3-origin/Makefile iw-4.3/Makefile +--- iw-4.3-origin/Makefile 2015-11-20 16:37:58.752077287 +0200 ++++ iw-4.3/Makefile 2015-11-20 16:57:15.510615815 +0200 +@@ -1,5 +1,7 @@ + MAKEFLAGS += --no-print-directory +- ++SRCDIR ?= $(dir $(lastword $(MAKEFILE_LIST))) ++OBJDIR ?= $(PWD) ++VPATH = $(SRCDIR) + PREFIX ?= /usr + SBINDIR ?= $(PREFIX)/sbin + MANDIR ?= $(PREFIX)/share/man +@@ -95,11 +97,11 @@ + version.c: version.sh $(patsubst %.o,%.c,$(VERSION_OBJS)) nl80211.h iw.h Makefile \ + $(wildcard .git/index .git/refs/tags) + @$(NQ) ' GEN ' $@ +- $(Q)./version.sh $@ ++ $(Q)cd $(SRCDIR) && ./version.sh $(OBJDIR)/$@ + + %.o: %.c iw.h nl80211.h + @$(NQ) ' CC ' $@ +- $(Q)$(CC) $(CFLAGS) -c -o $@ $< ++ $(Q)$(CC) -I$(SRCDIR) $(CFLAGS) -c -o $@ $< + + ifeq ($(IW_ANDROID_BUILD),) + iw: $(OBJS) diff --git a/meta-citadel/recipes-support/iw/iw_4.14.bb b/meta-citadel/recipes-support/iw/iw_4.14.bb new file mode 100644 index 0000000..bd9d32b --- /dev/null +++ b/meta-citadel/recipes-support/iw/iw_4.14.bb @@ -0,0 +1,34 @@ +SUMMARY = "nl80211 based CLI configuration utility for wireless devices" +DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \ +wireless devices. It supports almost all new drivers that have been added \ +to the kernel recently. " +HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw" +SECTION = "base" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" + +DEPENDS = "libnl" + +SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \ + file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \ + file://separate-objdir.patch \ +" + +SRC_URI[md5sum] = "2067516ca9940fdb8c091ee3250da374" +SRC_URI[sha256sum] = "a0c3aad6ff52234d03a2522ba2eba570e36abb3e60dc29bf0b1ce88dd725d6d4" + +inherit pkgconfig + +EXTRA_OEMAKE = "\ + -f '${S}/Makefile' \ + \ + 'PREFIX=${prefix}' \ + 'SBINDIR=${sbindir}' \ + 'MANDIR=${mandir}' \ +" +B = "${WORKDIR}/build" + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + diff --git a/meta-citadel/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch b/meta-citadel/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch new file mode 100644 index 0000000..6b61e20 --- /dev/null +++ b/meta-citadel/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch @@ -0,0 +1,39 @@ +Subject: [PATCH] fix libnl-3.4.0 musl compile problem +Avoid in6_addr redefinition + +Upstream-Status: Pending + +Signed-off-by: Huang Qiyu +--- + include/linux-private/linux/if_bridge.h | 1 - + include/linux-private/linux/ipv6.h | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/include/linux-private/linux/if_bridge.h b/include/linux-private/linux/if_bridge.h +index f24050b..8f7490c 100644 +--- a/include/linux-private/linux/if_bridge.h ++++ b/include/linux-private/linux/if_bridge.h +@@ -15,7 +15,6 @@ + + #include + #include +-#include + + #define SYSFS_BRIDGE_ATTR "bridge" + #define SYSFS_BRIDGE_FDB "brforward" +diff --git a/include/linux-private/linux/ipv6.h b/include/linux-private/linux/ipv6.h +index e05e684..f16349d 100644 +--- a/include/linux-private/linux/ipv6.h ++++ b/include/linux-private/linux/ipv6.h +@@ -2,7 +2,6 @@ + #define _IPV6_H + + #include +-#include + + /* The latest drafts declared increase in minimal mtu up to 1280. */ + +-- +2.7.4 + + diff --git a/meta-citadel/recipes-support/libnl/libnl/fix-pc-file.patch b/meta-citadel/recipes-support/libnl/libnl/fix-pc-file.patch new file mode 100644 index 0000000..fe8b833 --- /dev/null +++ b/meta-citadel/recipes-support/libnl/libnl/fix-pc-file.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Some packages are asking only for libnl-2.0, but expects to get also +libnl-genl, libnl-nf libnl-route, easiest way to fix them is here. + +Signed-off-by: Martin Jansa +Index: libnl-3.2.14/libnl-3.0.pc.in +=================================================================== +--- libnl-3.2.14.orig/libnl-3.0.pc.in ++++ libnl-3.2.14/libnl-3.0.pc.in +@@ -6,5 +6,5 @@ includedir=@includedir@ + Name: libnl + Description: Convenience library for netlink sockets + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -lnl-@MAJ_VERSION@ ++Libs: -L${libdir} -lnl-@MAJ_VERSION@ -lnl-genl-@MAJ_VERSION@ -lnl-nf-@MAJ_VERSION@ -lnl-route-@MAJ_VERSION@ + Cflags: -I${includedir}/libnl@MAJ_VERSION@ diff --git a/meta-citadel/recipes-support/libnl/libnl_3.4.0.bb b/meta-citadel/recipes-support/libnl/libnl_3.4.0.bb new file mode 100644 index 0000000..90dc644 --- /dev/null +++ b/meta-citadel/recipes-support/libnl/libnl_3.4.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "A library for applications dealing with netlink sockets" +HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" +SECTION = "libs/network" + +PE = "1" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ + file://fix-pc-file.patch \ + file://0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch \ +" + +UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases" + +SRC_URI[md5sum] = "8f71910c03db363b41e2ea62057a4311" +SRC_URI[sha256sum] = "b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf" + +inherit autotools pkgconfig + +FILES_${PN} = "${libdir}/libnl-3.so.* \ + ${libdir}/libnl.so.* \ + ${sysconfdir}" +RREPLACES_${PN} = "libnl2" +RCONFLICTS_${PN} = "libnl2" +FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la" +FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" + +PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm" +FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \ + ${libdir}/libnl/cli/*/*.so \ + ${bindir}/genl-ctrl-list \ + ${bindir}/idiag-socket-details \ + ${bindir}/nf-* \ + ${bindir}/nl-*" +FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \ + ${libdir}/libnl-genl.so.*" +FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" +FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*" +FILES_${PN}-route = "${libdir}/libnl-route-3.so.*" +FILES_${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*" +RREPLACES_${PN}-genl = "libnl-genl2" +RCONFLICTS_${PN}-genl = "libnl-genl2"