Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 1 | DESCRIPTION = "netkit-rwho includes, ruptime rwho and rwhod (Daemon to maintain data for rwho/ruptime)" |
| 2 | HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit" |
| 3 | SECTION = "net" |
Brad Bishop | 2d39a06 | 2019-10-28 08:33:36 -0400 | [diff] [blame] | 4 | LICENSE = "BSD-4-Clause" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 5 | LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e" |
| 6 | |
| 7 | SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 8 | ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;subdir=${BP};name=patch13 \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 9 | file://rwhod \ |
| 10 | file://rwhod.default \ |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 11 | file://0001-Add-missing-include-path-to-I-options.patch \ |
| 12 | file://0002-Fix-build-issues-found-with-musl.patch \ |
| 13 | " |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 14 | SRC_URI[archive.md5sum] = "0f71620d45d472f89134ba0d74242e75" |
| 15 | SRC_URI[archive.sha256sum] = "0409e2ce4bfdb2dacb2c193d0fedfc49bb975cb057c5c6b0ffcca603a1188da7" |
| 16 | SRC_URI[patch13.md5sum] = "82ed5a3c6b0bbf00b36508b9787963b9" |
| 17 | SRC_URI[patch13.sha256sum] = "53aefa27d98b565bf756db57120c03bd224a238e45699d92076420272a6eba8e" |
| 18 | |
| 19 | inherit autotools-brokensep useradd update-rc.d update-alternatives |
| 20 | |
| 21 | CFLAGS += " -D_GNU_SOURCE" |
| 22 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 23 | # Unlike other Debian packages, net-tools *.diff.gz contains another series of |
| 24 | # patches maintained by quilt. So manually apply them before applying other local |
| 25 | # patches. Also remove all temp files before leaving, because do_patch() will pop |
| 26 | # up all previously applied patches in the start |
| 27 | do_patch[depends] += "quilt-native:do_populate_sysroot" |
| 28 | netkit_do_patch() { |
| 29 | cd ${S} |
| 30 | # it's important that we only pop the existing patches when they've |
| 31 | # been applied, otherwise quilt will climb the directory tree |
| 32 | # and reverse out some completely different set of patches |
| 33 | if [ -d ${S}/patches ]; then |
| 34 | # whilst this is the default directory, doing it like this |
| 35 | # defeats the directory climbing that quilt will otherwise |
| 36 | # do; note the directory must exist to defeat this, hence |
| 37 | # the test inside which we operate |
| 38 | QUILT_PATCHES=${S}/patches quilt pop -a |
| 39 | fi |
| 40 | if [ -d ${S}/.pc-${BPN} ]; then |
| 41 | rm -rf ${S}/.pc |
| 42 | mv ${S}/.pc-${BPN} ${S}/.pc |
| 43 | QUILT_PATCHES=${S}/debian/patches quilt pop -a |
| 44 | rm -rf ${S}/.pc ${S}/debian |
| 45 | fi |
| 46 | QUILT_PATCHES=${S}/debian/patches quilt push -a |
| 47 | mv ${S}/.pc ${S}/.pc-${BPN} |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 48 | } |
| 49 | |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 50 | do_unpack[cleandirs] += "${S}" |
| 51 | |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 52 | python do_patch() { |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 53 | bb.build.exec_func('netkit_do_patch', d) |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 54 | bb.build.exec_func('patch_do_patch', d) |
| 55 | } |
| 56 | |
| 57 | do_configure () { |
| 58 | ./configure --prefix=${prefix} |
| 59 | echo "LDFLAGS=${LDFLAGS}" >> MCONFIG |
| 60 | } |
| 61 | |
| 62 | do_install () { |
| 63 | # rwho & ruptime |
| 64 | install -d ${D}${bindir} |
| 65 | install -d ${D}${mandir}/man1 |
| 66 | #rwhod |
| 67 | install -d ${D}${sbindir} |
| 68 | install -d ${D}${mandir}/man8 |
| 69 | install -d ${D}${sysconfdir}/init.d |
| 70 | install -d ${D}${sysconfdir}/default |
| 71 | sed -i 's/install -s/install/' rwho/Makefile |
| 72 | sed -i 's/install -s/install/' ruptime/Makefile |
| 73 | sed -i 's/install -s/install/' rwhod/Makefile |
| 74 | oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \ |
| 75 | 'DAEMONMODE=0755' 'MANMODE=0644' \ |
| 76 | 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \ |
| 77 | 'MANDIR=${mandir}' install |
| 78 | |
| 79 | install -m 0644 ${WORKDIR}/rwhod.default ${D}${sysconfdir}/default/rwhod |
| 80 | install -m 755 ${WORKDIR}/rwhod ${D}${sysconfdir}/init.d |
| 81 | |
| 82 | mkdir -p -m 755 ${D}${localstatedir}/spool/rwho |
| 83 | chown -R rwhod ${D}${localstatedir}/spool/rwho |
| 84 | } |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 85 | pkg_postinst_ontarget:${PN}-server() { |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 86 | ${sysconfdir}/init.d/rwhod start |
| 87 | } |
| 88 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 89 | pkg_postrm:${PN}-server() { |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 90 | ${sysconfdir}/init.d/rwhod stop |
| 91 | } |
| 92 | |
| 93 | INITSCRIPT_NAME = "rwhod" |
| 94 | INITSCRIPT_PARAM = "defaults 85 15" |
| 95 | |
| 96 | USERADD_PACKAGES = "${PN}-server" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 97 | GROUPADD_PARAM:${PN}-server = "--system rwhod" |
| 98 | USERADD_PARAM:${PN}-server = "--system -g rwhod --home-dir ${localstatedir}/spool/rwho \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 99 | --no-create-home --shell /bin/false rwhod" |
| 100 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 101 | INSANE_SKIP:${PN} = "already-stripped" |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 102 | |
| 103 | PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 104 | FILES:${PN}-client = "${bindir}/*" |
| 105 | FILES:${PN}-server = "${sbindir}/* ${localstatedir} ${sysconfdir}/default/* ${sysconfdir}/init.d/*" |
| 106 | FILES:${PN}-doc = "${mandir}" |
| 107 | FILES:${PN}-dbg = "${prefix}/src/debug \ |
Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 108 | ${bindir}/.debug ${sbindir}/.debug" |