blob: ca11f1a170541309ea547f27e295a3b9ec377efe [file] [log] [blame]
Andrew Geisslereff27472021-10-29 15:35:00 -05001SUMMARY = "Kernel based automounter for linux"
2SECTION = "utils"
Andrew Geissler9aee5002022-03-30 16:27:02 +00003LICENSE = "GPL-2.0-only"
Andrew Geisslereff27472021-10-29 15:35:00 -05004LIC_FILES_CHKSUM = "file://COPYING;md5=ee9324a6f564bb2376b63878ac396798"
5
6DEPENDS += "libtirpc flex-native bison-native e2fsprogs openssl libxml2 util-linux cyrus-sasl libnsl2"
7
8CFLAGS += "-I${STAGING_INCDIR}/tirpc"
9
10inherit autotools-brokensep systemd update-rc.d pkgconfig
11
12SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \
13 file://no-bash.patch \
14 file://cross.patch \
15 file://fix_disable_ldap.patch \
16 file://autofs-5.0.7-fix-lib-deps.patch \
17 file://add-the-needed-stdarg.h.patch \
18 file://using-pkg-config-to-detect-libxml-2.0-and-krb5.patch \
19 file://force-STRIP-to-emtpy.patch \
20 file://remove-bashism.patch \
21 file://fix-the-YACC-rule-to-fix-a-building-failure.patch \
22 file://0001-Define-__SWORD_TYPE-and-_PATH_NSSWITCH_CONF.patch \
23 file://0002-Replace-__S_IEXEC-with-S_IEXEC.patch \
24 file://pkgconfig-libnsl.patch \
25 file://0001-modules-lookup_multi.c-Replace-__S_IEXEC-with-S_IEXE.patch \
26 file://0001-Do-not-hardcode-path-for-pkg.m4.patch \
27 file://0001-Bug-fix-for-pid_t-not-found-on-musl.patch \
28 file://0001-Define-__SWORD_TYPE-if-undefined.patch \
Patrick Williams92b42cb2022-09-03 06:53:57 -050029 file://mount_conflict.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050030 file://0001-autofs-5.1.8-add-autofs_strerror_r-helper-for-musl.patch \
31 file://0002-autofs-5.1.8-handle-innetgr-not-present-in-musl.patch \
Andrew Geisslereff27472021-10-29 15:35:00 -050032 "
33SRC_URI[sha256sum] = "0bd401c56f0eb1ca6251344c3a3d70bface3eccf9c67117cd184422c4cace30c"
34
35UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/"
36
37INITSCRIPT_NAME = "autofs"
38INITSCRIPT_PARAMS = "defaults"
39
40# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS
41#CFLAGS += "${LDFLAGS}"
42
43PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd"
44
45PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
46
47EXTRA_OEMAKE = "DONTSTRIP=1"
48EXTRA_OECONF += "--disable-mount-locking \
49 --enable-ignore-busy --with-openldap=no \
50 --with-confdir=${sysconfdir}/default \
51 --with-fifodir=/run \
52 --with-flagdir=/run \
53 --with-sasl=no --with-libtirpc \
54 --with-mapdir=${sysconfdir} \
55 --with-path=${STAGING_BINDIR_NATIVE} \
56 --with-fifodir=${localstatedir}/run \
57 --with-flagdir=${localstatedir}/run \
58"
59CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \
60 ac_cv_path_RPCGEN=rpcgen \
61 initdir=${INIT_D_DIR} \
62 piddir=/run \
63"
64
65do_configure:prepend () {
66 if [ ! -e ${S}/acinclude.m4 ]; then
67 cp ${S}/aclocal.m4 ${S}/acinclude.m4
68 fi
69 cp ${STAGING_DATADIR_NATIVE}/aclocal/pkg.m4 .
70}
71
72do_install:append () {
73 # samples have been removed from SUBDIRS from 5.1.5, need to install separately
74 oe_runmake 'DESTDIR=${D}' install_samples
75
76 if [ -d ${D}/run ]; then
77 rmdir ${D}/run
78 fi
79 if [ -d ${D}${localstatedir}/run ]; then
80 rmdir ${D}${localstatedir}/run
81 fi
82 # On hybrid systemd/sysvinit builds, we need to install the sysvinit script by hand.
83 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
84 install -d -m 755 ${D}${INIT_D_DIR}
85 install -m 755 ${S}/samples/rc.autofs ${D}${INIT_D_DIR}/autofs
86 fi
87}
88SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
89
90# all the libraries are unversioned, so don't pack it on PN-dev
91SOLIBS = ".so"
92FILES_SOLIBSDEV = ""
93# Some symlinks are created in plugins dir e.g.
94# mount_nfs4.so -> mount_nfs.so
95INSANE_SKIP:${PN} = "dev-so"
96
97RPROVIDES:${PN} += "${PN}-systemd"
98RREPLACES:${PN} += "${PN}-systemd"
99RCONFLICTS:${PN} += "${PN}-systemd"
100SYSTEMD_SERVICE:${PN} = "autofs.service"