aboutsummaryrefslogtreecommitdiff
path: root/meta-yerba
diff options
context:
space:
mode:
Diffstat (limited to 'meta-yerba')
-rw-r--r--meta-yerba/conf/distro/yerba.conf12
-rw-r--r--meta-yerba/recipes-core/chimerautils/chimerautils_15.1.0.bb95
-rw-r--r--meta-yerba/recipes-core/images/yerba-image.bb5
-rw-r--r--meta-yerba/recipes-core/libpam/libpam_%.bbappend13
-rw-r--r--meta-yerba/recipes-core/libxo/libxo_1.7.5.bb73
-rw-r--r--meta-yerba/recipes-core/package-groups/packagegroup-yerba-boot.bb23
-rw-r--r--meta-yerba/recipes-core/runit/runit_2.3.1.bb2
7 files changed, 215 insertions, 8 deletions
diff --git a/meta-yerba/conf/distro/yerba.conf b/meta-yerba/conf/distro/yerba.conf
index fd0eacd..b1368a1 100644
--- a/meta-yerba/conf/distro/yerba.conf
+++ b/meta-yerba/conf/distro/yerba.conf
@@ -1,7 +1,6 @@
DISTRO = "yerba"
DISTRO_NAME = "Yerba Linux"
-# No versioning, this is rolling-release
-DISTRO_VERSION = "rolling"
+DISTRO_VERSION = "1.0.0"
MAINTAINER = "Arslaan Pathan <[email protected]>"
TCLIBC = "musl"
@@ -14,8 +13,13 @@ DISTRO_FEATURES = " pam"
VIRTUAL-RUNTIME_init_manager = "runit"
VIRTUAL-RUNTIME_initscripts = ""
-VIRTUAL-RUNTIME_base-utils = "busybox"
-VIRTUAL_RUNTIME_login_manager = "util-linux"
+PREFERRED_PROVIDER_virtual/base-utils = "chimerautils"
+VIRTUAL-RUNTIME_base-utils = "chimerautils"
+# Use PAM instead
+# VIRTUAL-RUNTIME_login_manager = "util-linux"
+
+SKIP_RECIPE[busybox] = "Using chimerautils instead"
+SKIP_RECIPE[coreutils] = "Using chimerautils instead"
# some quality assurance stuff? idk tbh
ERROR_QA:append = " textrel host-user-contaminated"
diff --git a/meta-yerba/recipes-core/chimerautils/chimerautils_15.1.0.bb b/meta-yerba/recipes-core/chimerautils/chimerautils_15.1.0.bb
new file mode 100644
index 0000000..13fe60d
--- /dev/null
+++ b/meta-yerba/recipes-core/chimerautils/chimerautils_15.1.0.bb
@@ -0,0 +1,95 @@
+SUMMARY = "chimerautils - Chimera Linux utilities/userspace"
+DESCRIPTION = "Custom userspace/coreutils for replacing busybox and GNU coreutils"
+HOMEPAGE = "https://github.com/chimera-linux/chimerautils"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ba384e96ff42e28d5560af83e8fb18f"
+
+SRC_URI = "git://github.com/chimera-linux/chimerautils;protocol=https;branch=master"
+SRCREV = "8a71251d1846185899600a7484ac0f522dea8740"
+S = "${WORKDIR}/git"
+
+PROVIDES += "virtual/base-utils"
+RPROVIDES:${PN} += "virtual/base-utils"
+
+DEPENDS = "meson-native ninja-native bison-native acl-native libedit-native openssl-native zlib-native xz-native ncurses-native zstd-native zstd bison acl libedit openssl libxo zlib xz ncurses"
+
+inherit meson
+
+inherit pkgconfig
+
+EXTRA_OEMESON = "--buildtype plain"
+
+do_install() {
+ install -d ${D}${bindir} \
+ ${D}${sbindir} \
+ ${D}${libdir} \
+ ${D}${base_sbindir} \
+ ${D}${base_bindir}
+
+ if [ -d "${B}/src.custom" ]; then
+ for binary in $(find ${B}/src.custom -maxdepth 2 -type f -executable ! -name "*.o" ! -name "*.p" 2>/dev/null); do
+ base_name=$(basename $binary)
+ case $base_name in
+ maketab|mksyntax|mknodes|proctab)
+ continue
+ ;;
+ addpart|delpart|resizepart)
+ install -m 0755 $binary ${D}${sbindir}/
+ ;;
+ pivot_root|switch_root)
+ install -m 0755 $binary ${D}${base_sbindir}/
+ ;;
+ *)
+ install -m 0755 $binary ${D}${bindir}/
+ ;;
+ esac
+ done
+ fi
+
+ if [ -d "${B}/src.freebsd" ]; then
+ for binary in $(find ${B}/src.freebsd -mindepth 2 -maxdepth 3 -type f -executable ! -name "*.o" ! -name "*.a" ! -name "*.so*" ! -name "*.h" ! -name "*.c" ! -name "*.cc" ! -name "*.tab.*" ! -name "*.p" 2>/dev/null); do
+ base_name=$(basename $binary)
+ case $base_name in
+ maketab|mksyntax|mknodes|proctab|*.o|*.a|*.so*|*.h|*.c|*.cc|*.tab.*|*.p|*.sh|*.pl|*.py|*.awk)
+ continue
+ ;;
+ *)
+ case $base_name in
+ init|halt|poweroff|reboot|shutdown|swap*|pivot_root|switch_root)
+ install -m 0755 $binary ${D}${base_sbindir}/
+ ;;
+ mount|umount|fsck|mkfs|fdisk|cfdisk|sfdisk|losetup|addpart|delpart|resizepart)
+ install -m 0755 $binary ${D}${sbindir}/
+ ;;
+ *)
+ install -m 0755 $binary ${D}${bindir}/
+ ;;
+ esac
+ ;;
+ esac
+ done
+ fi
+
+ if [ -d "${B}/src.freebsd" ]; then
+ find ${B}/src.freebsd -name "*.so*" -exec install -m 0755 {} ${D}${libdir}/ \; 2>/dev/null || true
+ fi
+}
+
+FILES:${PN} = " \
+ ${bindir}/* \
+ ${sbindir}/* \
+ ${base_bindir}/* \
+ ${base_sbindir}/* \
+ ${libdir}/*.so* \
+ ${datadir}/* \
+ /bin \
+ /usr/share \
+"
+
+FILES:${PN}-staticdev = " \
+ ${libdir}/*.a \
+"
+
+FILES:${PN}-dev = " \
+ ${includedir}/* \
+"
diff --git a/meta-yerba/recipes-core/images/yerba-image.bb b/meta-yerba/recipes-core/images/yerba-image.bb
index d19702e..b5b5bbd 100644
--- a/meta-yerba/recipes-core/images/yerba-image.bb
+++ b/meta-yerba/recipes-core/images/yerba-image.bb
@@ -5,9 +5,9 @@ inherit core-image
IMAGE_FEATURES += "ssh-server-dropbear"
+# Not using packagegroup-core-base-utils anymore because chimerautils
IMAGE_INSTALL = "\
- packagegroup-core-boot \
- packagegroup-core-base-utils \
+ packagegroup-yerba-boot \
${CORE_IMAGE_EXTRA_INSTALL} \
yerba-user \
runit \
@@ -15,7 +15,6 @@ IMAGE_INSTALL = "\
runit-tty0-getty \
runit-dhcpcd \
runit-config \
- busybox \
util-linux-agetty \
bash \
zsh \
diff --git a/meta-yerba/recipes-core/libpam/libpam_%.bbappend b/meta-yerba/recipes-core/libpam/libpam_%.bbappend
new file mode 100644
index 0000000..573fe1c
--- /dev/null
+++ b/meta-yerba/recipes-core/libpam/libpam_%.bbappend
@@ -0,0 +1,13 @@
+RDEPENDS:${PN}-runtime = "${PN}-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
+ "
+RDEPENDS:${PN}-xtests = "${PN}-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-access-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \
+ ${MLPREFIX}pam-plugin-time-${libpam_suffix} \
+ bash chimerautils"
diff --git a/meta-yerba/recipes-core/libxo/libxo_1.7.5.bb b/meta-yerba/recipes-core/libxo/libxo_1.7.5.bb
new file mode 100644
index 0000000..72a1f51
--- /dev/null
+++ b/meta-yerba/recipes-core/libxo/libxo_1.7.5.bb
@@ -0,0 +1,73 @@
+SUMMARY = "libxo - Library for programs to output XML, JSON and HTML"
+DESCRIPTION = "Library for programs to output XML, JSON and HTML"
+HOMEPAGE = "https://github.com/Juniper/libxo"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d38b267964c4d7712bb316e31cceb0a2"
+
+SRC_URI="git://github.com/Juniper/libxo;protocol=https;branch=main"
+SRCREV="fd5db1b4fba49e1f4c35d6c466710c0e89f54043"
+S = "${WORKDIR}/git"
+
+DEPENDS = "libtool-native"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = ""
+
+do_configure:prepend() {
+ if [ -f ${S}/configure ]; then
+ sed -i 's|/usr/include||g' ${S}/configure
+ sed -i 's|/usr/lib||g' ${S}/configure
+ sed -i 's|/usr/local||g' ${S}/configure
+ fi
+}
+
+INSANE_SKIP:${PN} = "configure-unsafe unknown-configure-option ldflags dev-so staticdev buildpaths"
+INSANE_SKIP:${PN}-dev = "configure-unsafe unknown-configure-option ldflags"
+INSANE_SKIP:${PN}-staticdev = "configure-unsafe unknown-configure-option ldflags"
+
+EXTRA_OECONF += "--disable-gettext"
+
+LDFLAGS += "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
+
+do_install:append() {
+ if [ -f ${D}${bindir}/libxo-config ]; then
+ sed -i 's|${TMPDIR}||g' ${D}${bindir}/libxo-config
+ sed -i 's|${WORKDIR}||g' ${D}${bindir}/libxo-config
+ sed -i 's|${D}||g' ${D}${bindir}/libxo-config
+ fi
+}
+
+FILES:${PN} = " \
+ ${libdir}/libxo/encoder/libenc_cbor.so.0.0.0 \
+ ${libdir}/libxo/encoder/libenc_cbor.so.0 \
+ ${libdir}/libxo/encoder/libenc_cbor.so \
+ ${libdir}/libxo/encoder/libenc_cbor.a \
+ ${libdir}/libxo/encoder/cbor.enc \
+ ${libdir}/libxo/encoder/libenc_csv.so.0.0.0 \
+ ${libdir}/libxo/encoder/libenc_csv.so.0 \
+ ${libdir}/libxo/encoder/libenc_csv.so \
+ ${libdir}/libxo/encoder/libenc_csv.a \
+ ${libdir}/libxo/encoder/csv.enc \
+ ${libdir}/libxo/encoder/libenc_test.so.0.0.0 \
+ ${libdir}/libxo/encoder/libenc_test.so.0 \
+ ${libdir}/libxo/encoder/libenc_test.so \
+ ${libdir}/libxo/encoder/libenc_test.a \
+ ${libdir}/libxo/encoder/test.enc \
+ ${libdir}/libxo.so.0.0.0 \
+ ${libdir}/libxo.so.0 \
+ ${datadir}/libxo \
+ ${datadir}/libxo/xohtml.js \
+ ${datadir}/libxo/xohtml.css \
+ ${datadir}/libxo/external \
+ ${datadir}/libxo/external/jquery.js \
+ ${datadir}/libxo/external/jquery.qtip.css \
+ ${datadir}/libxo/external/jquery.qtip.js \
+ ${bindir}/xo \
+ ${bindir}/xopo \
+ ${bindir}/xolint \
+ ${bindir}/xohtml \
+ ${bindir}/libxo-config \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-yerba/recipes-core/package-groups/packagegroup-yerba-boot.bb b/meta-yerba/recipes-core/package-groups/packagegroup-yerba-boot.bb
new file mode 100644
index 0000000..0a28f12
--- /dev/null
+++ b/meta-yerba/recipes-core/package-groups/packagegroup-yerba-boot.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Yerba Linux boot package group"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-yerba-boot \
+ "
+
+RDEPENDS:packagegroup-yerba-boot = "\
+ base-files \
+ base-passwd \
+ initscripts \
+ init-ifupdown \
+ modutils-initscripts \
+ netbase \
+ runit \
+ udev \
+ util-linux-mount \
+ util-linux-umount \
+ chimerautils \
+ bash \
+ "
diff --git a/meta-yerba/recipes-core/runit/runit_2.3.1.bb b/meta-yerba/recipes-core/runit/runit_2.3.1.bb
index 3dc5d9b..45a3805 100644
--- a/meta-yerba/recipes-core/runit/runit_2.3.1.bb
+++ b/meta-yerba/recipes-core/runit/runit_2.3.1.bb
@@ -37,7 +37,7 @@ do_install() {
}
FILES:${PN} = "/sbin/runit-init /usr/sbin/runsvdir /usr/bin/sv /usr/sbin/svlogd /sbin/runit /sbin/init /usr/sbin/runsv /usr/sbin/runsvchdir /usr/bin/chpst /sbin/runsv /sbin/runsvdir"
-RDEPENDS:${PN} += "busybox runit-config"
+RDEPENDS:${PN} += "chimerautils runit-config"
PROVIDES += "runit-init"