From: "Mike Gilbert" <floppym@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/
Date: Sun, 30 Apr 2017 17:23:12 +0000 (UTC) [thread overview]
Message-ID: <1493572989.e53ac2698567f4699f24f27630592fcfb0938015.floppym@gentoo> (raw)
commit: e53ac2698567f4699f24f27630592fcfb0938015
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 30 17:22:57 2017 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Apr 30 17:23:09 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e53ac269
sys-fs/udev: convert to meson
Package-Manager: Portage-2.3.5_p31, Repoman-2.3.2_p61
sys-fs/udev/udev-9999.ebuild | 229 +++++++++++++++++++------------------------
1 file changed, 99 insertions(+), 130 deletions(-)
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
index ef90718a236..43e3e7cc2cc 100644
--- a/sys-fs/udev/udev-9999.ebuild
+++ b/sys-fs/udev/udev-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-inherit autotools bash-completion-r1 linux-info multilib-minimal toolchain-funcs udev user versionator
+inherit bash-completion-r1 linux-info multilib-minimal multiprocessing toolchain-funcs udev user versionator
if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/systemd/systemd.git"
@@ -44,6 +44,9 @@ COMMON_DEPEND=">=sys-apps/util-linux-2.27.1[${MULTILIB_USEDEP}]
DEPEND="${COMMON_DEPEND}
dev-util/gperf
>=dev-util/intltool-0.50
+ >=dev-util/meson-0.40.0
+ dev-util/ninja
+ dev-util/patchelf
>=sys-apps/coreutils-8.16
virtual/os-headers
virtual/pkgconfig
@@ -119,14 +122,9 @@ src_prepare() {
# change rules back to group uucp instead of dialout for now wrt #454556
sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
- # stub out the am_path_libcrypt function
- echo 'AC_DEFUN([AM_PATH_LIBGCRYPT],[:])' > m4/gcrypt.m4
-
# apply user patches
eapply_user
- eautoreconf
-
if ! [[ ${PV} = 9999* ]]; then
check_default_rules
fi
@@ -137,167 +135,138 @@ src_prepare() {
fi
}
+meson_multilib_native_use() {
+ if multilib_is_native_abi && use "$1"; then
+ echo true
+ else
+ echo false
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --buildtype=plain
+ --libdir="$(get_libdir)"
+ --localstatedir="${EPREFIX}/var"
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ -Dacl=$(meson_multilib_native_use acl)
+ -Defi=false
+ -Dkmod=$(meson_multilib_native_use kmod)
+ -Dselinux=$(meson_multilib_native_use selinux)
+ -Dsplit-usr=true
+ )
+ set -- meson "${myconf[@]}" "${S}"
+ echo "$@"
+ "$@" || die
+}
+
src_configure() {
# Prevent conflicts with i686 cross toolchain, bug 559726
tc-export AR CC NM OBJCOPY RANLIB
multilib-minimal_src_configure
}
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
- export cc_cv_CFLAGS__Werror_shadow=no #554454
- export cc_cv_LDFLAGS__Wl__fuse_ld_gold=no #573874
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- --libdir=/usr/$(get_libdir)
- --docdir=/usr/share/doc/${PF}
- --disable-nls
- --disable-dbus
- $(multilib_native_use_enable kmod)
- --disable-xkbcommon
- --disable-seccomp
- $(multilib_native_use_enable selinux)
- --disable-xz
- --disable-lz4
- --disable-pam
- $(multilib_native_use_enable acl)
- --disable-gcrypt
- --disable-audit
- --disable-libcryptsetup
- --disable-qrencode
- --disable-microhttpd
- --disable-gnuefi
- --disable-gnutls
- --disable-libcurl
- --disable-libidn
- --disable-quotacheck
- --disable-logind
- --disable-polkit
- --disable-myhostname
- $(multilib_is_native_abi || echo "--disable-manpages")
- --enable-split-usr
- --without-python
- --with-bashcompletiondir="$(get_bashcompdir)"
- --with-rootprefix=
- $(multilib_is_native_abi && echo "--with-rootlibdir=/$(get_libdir)")
- --disable-elfutils
- )
-
- if ! multilib_is_native_abi; then
- econf_args+=(
- MOUNT_{CFLAGS,LIBS}=' '
- )
+eninja() {
+ if [[ -z ${NINJAOPTS+set} ]]; then
+ NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
fi
-
- ECONF_SOURCE=${S} econf "${econf_args[@]}"
+ set -- ninja -v ${NINJAOPTS} "$@"
+ echo "$@"
+ "$@" || die
}
multilib_src_compile() {
- echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
- emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
+ # meson creates this link
+ local libudev=$(readlink src/libudev/libudev.so.1)
- # Most of the parallel build problems were solved by >=sys-devel/make-3.82-r4,
- # but not everything -- separate building of the binaries as a workaround,
- # which will force internal libraries required for the helpers to be built
- # early enough, like eg. libsystemd-shared.la
+ local targets=(
+ src/libudev/${libudev}
+ )
if multilib_is_native_abi; then
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
-
- local exec_targets=(
+ targets+=(
systemd-udevd
udevadm
- )
- emake "${exec_targets[@]}"
-
- local helper_targets=(
- ata_id
- cdrom_id
- collect
- scsi_id
- v4l_id
- mtd_probe
- )
- emake "${helper_targets[@]}"
-
- local man_targets=(
+ src/udev/ata_id
+ src/udev/cdrom_id
+ src/udev/collect
+ src/udev/mtd_probe
+ src/udev/scsi_id
+ src/udev/v4l_id
man/udev.conf.5
man/systemd.link.5
+ man/hwdb.7
man/udev.7
man/systemd-udevd.service.8
man/udevadm.8
)
- emake "${man_targets[@]}"
- else
- local lib_targets=( libudev.la )
- emake "${lib_targets[@]}"
fi
+ ninja -v "${targets[@]}" || die
+}
+
+# meson uses an private python script for this
+strip_rpath() {
+ local x
+ for x; do
+ patchelf --remove-rpath "${x}" || die
+ done
}
multilib_src_install() {
+ local libudev=$(readlink src/libudev/libudev.so.1)
+
+ into /
+ strip_rpath src/libudev/${libudev}
+ dolib.so src/libudev/{${libudev},libudev.so.1,libudev.so}
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins src/libudev/libudev.pc
+
if multilib_is_native_abi; then
- local targets=(
- install-includeHEADERS
- install-rootbinPROGRAMS
- install-rootlibLTLIBRARIES
- install-rootlibexecPROGRAMS
- install-udevlibexecPROGRAMS
- install-dist_udevconfDATA
- install-dist_udevrulesDATA
- install-pkgconfiglibDATA
- install-pkgconfigdataDATA
- install-dist_docDATA
- install-directories-hook
- install-dist_bashcompletionDATA
- install-dist_networkDATA
- rootlibexec_PROGRAMS=systemd-udevd
- rootbin_PROGRAMS=udevadm
- rootlib_LTLIBRARIES="libudev.la"
- pkgconfiglib_DATA="src/libudev/libudev.pc"
- pkgconfigdata_DATA="src/udev/udev.pc"
- INSTALL_DIRS='$(sysconfdir)/udev/rules.d $(sysconfdir)/udev/hwdb.d $(sysconfdir)/systemd/network'
- dist_bashcompletion_DATA="shell-completion/bash/udevadm"
- dist_network_DATA="network/99-default.link"
- )
- emake -j1 DESTDIR="${D}" "${targets[@]}"
- doman man/{udev.conf.5,systemd.link.5,udev.7,systemd-udevd.service.8,udevadm.8}
+ into /
+ strip_rpath udevadm
+ dobin udevadm
- # Compatibility symlink for software that looks for libudev.so
- # without using pkg-config
- dosym ../../$(get_libdir)/libudev.so.1 \
- /usr/$(get_libdir)/libudev.so
- else
- local targets=(
- install-libLTLIBRARIES
- install-includeHEADERS
- install-pkgconfiglibDATA
- lib_LTLIBRARIES="libudev.la"
- pkgconfiglib_DATA="src/libudev/libudev.pc"
- include_HEADERS="src/libudev/libudev.h"
- )
+ exeinto /lib/systemd
+ strip_rpath systemd-udevd
+ doexe systemd-udevd
+
+ exeinto /lib/udev
+ strip_rpath src/udev/{ata_id,cdrom_id,collect,mtd_probe,scsi_id,v4l_id}
+ doexe src/udev/{ata_id,cdrom_id,collect,mtd_probe,scsi_id,v4l_id}
+
+ rm rules/99-systemd.rules || die
+ insinto /lib/udev/rules.d
+ doins rules/*.rules
- emake -j1 DESTDIR="${D}" "${targets[@]}"
+ insinto /usr/share/pkgconfig
+ doins src/udev/udev.pc
+
+ mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die
+ rm man/systemd-udevd-{control,kernel}.socket.8 || die
+ doman man/*.[0-9]
fi
}
multilib_src_install_all() {
- dodoc TODO
+ doheader src/libudev/libudev.h
+
+ insinto /etc/udev
+ doins src/udev/udev.conf
- prune_libtool_files --all
- rm -f "${D}"/lib/udev/rules.d/99-systemd.rules
- rm -f "${D}"/usr/share/doc/${PF}/{LICENSE.*,GVARIANT-SERIALIZATION,DIFFERENCES,PORTING-DBUS1,sd-shutdown.h}
+ insinto /lib/systemd/network
+ doins network/99-default.link
# see src_prepare() for content of 40-gentoo.rules
insinto /lib/udev/rules.d
doins "${T}"/40-gentoo.rules
- # maintainer note: by not letting the upstream build-sys create the .so
- # link, you also avoid a parallel make problem
- mv "${D}"/usr/share/man/man8/systemd-udevd{.service,}.8
+ dobashcomp shell-completion/bash/udevadm
+
+ insinto /usr/share/zsh/site-functions
+ doins shell-completion/zsh/_udevadm
+
+ einstalldocs
}
pkg_postinst() {
next reply other threads:[~2017-04-30 17:23 UTC|newest]
Thread overview: 240+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-30 17:23 Mike Gilbert [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-08-20 15:54 [gentoo-commits] repo/gentoo:master commit in: sys-fs/udev/ Arthur Zamarin
2022-06-04 2:21 Sam James
2022-06-03 7:05 Sam James
2022-06-03 0:52 Sam James
2022-06-03 0:52 Sam James
2022-06-03 0:37 Sam James
2022-06-02 1:52 Sam James
2022-06-02 1:52 Sam James
2022-05-30 7:15 Sam James
2022-04-16 23:13 Mike Gilbert
2022-01-13 0:20 Sam James
2021-12-08 16:20 Mike Gilbert
2021-12-07 20:29 Sam James
2021-12-04 17:49 Sam James
2021-12-02 1:44 Sam James
2021-12-01 20:15 Mike Gilbert
2021-12-01 20:09 Mike Gilbert
2021-12-01 13:31 Agostino Sarubbo
2021-12-01 10:52 Sam James
2021-12-01 10:52 Sam James
2021-12-01 9:02 Agostino Sarubbo
2021-11-30 14:49 Agostino Sarubbo
2021-11-29 22:39 Sam James
2021-11-29 22:39 Sam James
2021-11-29 16:35 Mike Gilbert
2021-11-28 20:08 Mike Gilbert
2021-11-26 20:55 Georgy Yakovlev
2021-11-18 20:51 Mike Gilbert
2021-09-09 18:46 Mike Gilbert
2021-09-07 17:37 Mike Gilbert
2021-09-05 1:09 Mike Gilbert
2021-09-03 18:03 Sam James
2021-08-23 22:16 Agostino Sarubbo
2021-08-20 23:51 Sam James
2021-08-20 5:58 Agostino Sarubbo
2021-08-19 11:22 Sam James
2021-08-19 1:28 Agostino Sarubbo
2021-08-19 1:27 Agostino Sarubbo
2021-08-19 1:08 Sam James
2021-08-11 18:03 Mike Gilbert
2021-08-09 16:47 Sam James
2021-08-09 16:47 Sam James
2021-08-09 15:15 Mike Gilbert
2021-08-06 2:30 Georgy Yakovlev
2021-08-03 17:51 Mike Gilbert
2021-08-03 17:26 Mike Gilbert
2021-08-01 21:16 William Hubbs
2021-08-01 20:32 William Hubbs
2021-07-17 21:54 Andreas K. Hüttel
2021-07-16 21:44 Sam James
2021-07-15 21:42 Sam James
2021-07-15 13:44 Sergei Trofimovich
2021-07-15 7:42 Agostino Sarubbo
2021-07-15 7:40 Agostino Sarubbo
2021-07-15 7:40 Agostino Sarubbo
2021-07-15 7:39 Agostino Sarubbo
2021-07-15 7:38 Agostino Sarubbo
2021-07-14 20:45 Mike Gilbert
2021-07-14 16:40 Mike Gilbert
2021-07-13 18:53 Mike Gilbert
2021-07-09 17:31 Mike Gilbert
2021-07-09 17:10 William Hubbs
2021-07-09 5:53 William Hubbs
2021-06-04 1:14 Matt Turner
2021-05-01 7:36 Andreas Sturmlechner
2021-04-05 19:27 Lars Wendler
2021-04-05 19:27 Lars Wendler
2021-03-10 16:22 Mike Gilbert
2021-01-10 17:55 Mike Gilbert
2021-01-07 2:35 Sam James
2021-01-06 20:32 Mike Gilbert
2021-01-06 15:47 Mike Gilbert
2020-08-10 18:04 Sergei Trofimovich
2020-08-07 20:44 William Hubbs
2020-08-07 14:32 Mike Gilbert
2020-08-07 14:32 Mike Gilbert
2020-08-07 11:53 Agostino Sarubbo
2020-08-07 11:52 Agostino Sarubbo
2020-08-07 11:48 Agostino Sarubbo
2020-08-07 11:47 Agostino Sarubbo
2020-08-07 11:44 Agostino Sarubbo
2020-08-06 14:35 Sam James
2020-08-06 4:00 Sam James
2020-08-06 1:18 Mike Gilbert
2020-08-06 1:18 Mike Gilbert
2020-08-05 21:37 Mike Gilbert
2020-08-05 21:28 William Hubbs
2020-05-25 16:16 Mike Gilbert
2020-03-08 4:00 Mike Gilbert
2020-03-08 4:00 Mike Gilbert
2020-03-08 4:00 Mike Gilbert
2019-11-30 21:45 Sergei Trofimovich
2019-11-12 10:16 Agostino Sarubbo
2019-11-12 10:13 Agostino Sarubbo
2019-11-08 15:58 Aaron Bauman
2019-11-01 20:09 Matt Turner
2019-11-01 20:09 Matt Turner
2019-11-01 10:51 Mikle Kolyada
2019-10-29 12:53 Agostino Sarubbo
2019-10-29 9:29 Agostino Sarubbo
2019-10-27 14:22 Mike Gilbert
2019-10-26 18:33 Mike Gilbert
2019-10-26 18:33 Mike Gilbert
2019-10-10 17:52 William Hubbs
2019-08-22 6:03 Sergei Trofimovich
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-02 8:00 Mikle Kolyada
2019-08-01 21:11 Aaron Bauman
2019-08-01 18:35 Sergei Trofimovich
2019-07-29 16:20 Mike Gilbert
2019-07-29 16:20 Mike Gilbert
2019-04-14 0:35 William Hubbs
2019-03-05 18:03 Mikle Kolyada
2019-03-05 18:03 Mikle Kolyada
2019-02-25 16:31 William Hubbs
2019-01-30 20:44 Mike Gilbert
2019-01-30 20:14 Mike Gilbert
2019-01-30 16:04 Tobias Klausmann
2019-01-29 11:38 Mikle Kolyada
2019-01-26 16:50 Mike Gilbert
2019-01-26 16:50 Mike Gilbert
2019-01-24 14:59 Mike Gilbert
2019-01-23 13:41 Mikle Kolyada
2019-01-08 22:12 Mart Raudsepp
2019-01-05 21:11 Matt Turner
2019-01-05 21:11 Matt Turner
2019-01-03 21:10 Mike Gilbert
2018-12-28 16:47 Mike Gilbert
2018-12-26 11:46 Sergei Trofimovich
2018-12-25 21:08 William Hubbs
2018-12-25 21:08 William Hubbs
2018-12-15 22:39 Sergei Trofimovich
2018-12-13 21:27 Sergei Trofimovich
2018-12-13 14:15 Mikle Kolyada
2018-12-13 12:48 Thomas Deutschmann
2018-10-30 1:15 Mike Gilbert
2018-09-26 20:49 Sergei Trofimovich
2018-05-27 11:34 Mikle Kolyada
2018-05-24 10:23 Mike Frysinger
2018-05-19 9:26 Sergei Trofimovich
2018-05-16 22:16 Sergei Trofimovich
2018-05-15 17:35 Mart Raudsepp
2018-05-15 1:46 Thomas Deutschmann
2018-05-14 21:19 Tobias Klausmann
2018-05-14 12:33 Mikle Kolyada
2018-05-11 20:31 William Hubbs
2018-04-21 9:42 Mikle Kolyada
2018-04-18 5:54 Mart Raudsepp
2018-03-25 17:18 Markus Meier
2018-03-18 1:40 Matt Turner
2018-03-18 1:40 Matt Turner
2018-03-10 18:27 William Hubbs
2018-03-04 16:23 Tobias Klausmann
2018-02-19 8:02 Sergei Trofimovich
2018-02-13 16:03 Mike Gilbert
2018-02-04 15:06 Sergei Trofimovich
2018-01-29 21:36 Mike Gilbert
2018-01-26 21:17 Mikle Kolyada
2018-01-26 20:22 Mike Gilbert
2018-01-22 21:27 Sergei Trofimovich
2018-01-21 20:30 Thomas Deutschmann
2018-01-13 6:51 Mike Frysinger
2018-01-13 6:51 Mike Frysinger
2018-01-10 18:32 Mike Gilbert
2017-12-28 18:06 Sergei Trofimovich
2017-12-28 18:06 Sergei Trofimovich
2017-12-28 18:06 Sergei Trofimovich
2017-12-28 12:54 Sergei Trofimovich
2017-12-28 12:54 Sergei Trofimovich
2017-12-28 12:54 Sergei Trofimovich
2017-12-16 17:54 William Hubbs
2017-12-05 19:43 Matt Turner
2017-12-05 19:43 Matt Turner
2017-12-05 5:11 Matt Turner
2017-10-09 14:40 Mike Gilbert
2017-10-06 17:27 William Hubbs
2017-10-06 17:27 William Hubbs
2017-09-14 20:19 Sergei Trofimovich
2017-09-07 19:28 Markus Meier
2017-08-25 22:39 Matt Turner
2017-07-30 15:33 Sergei Trofimovich
2017-07-25 19:28 Markus Meier
2017-07-23 18:50 Sergei Trofimovich
2017-07-18 13:51 William Hubbs
2017-07-18 8:27 Sergei Trofimovich
2017-07-17 21:15 Mike Gilbert
2017-07-17 20:31 Mike Gilbert
2017-07-17 20:15 Mike Gilbert
2017-07-17 17:50 William Hubbs
2017-07-13 1:56 Markus Meier
2017-07-12 9:38 Sergei Trofimovich
2017-07-04 15:49 Agostino Sarubbo
2017-07-04 14:50 Agostino Sarubbo
2017-04-30 18:13 Mike Gilbert
2017-04-30 15:02 Mike Gilbert
2017-04-30 15:02 Mike Gilbert
2017-03-07 1:33 William Hubbs
2016-11-25 23:36 Mike Frysinger
2016-11-05 19:35 Mike Gilbert
2016-11-04 23:15 William Hubbs
2016-09-27 9:05 Michał Górny
2016-06-04 20:07 William Hubbs
2016-06-04 20:07 William Hubbs
2016-06-04 19:42 William Hubbs
2016-06-04 3:21 Mike Gilbert
2016-05-30 14:50 Mike Gilbert
2016-05-25 19:35 William Hubbs
2016-03-07 18:44 Mike Gilbert
2016-03-05 18:17 William Hubbs
2016-03-05 15:42 William Hubbs
2016-02-15 14:32 William Hubbs
2016-02-15 14:32 William Hubbs
2016-02-15 1:16 William Hubbs
2016-01-14 2:29 Mike Frysinger
2016-01-11 9:56 Agostino Sarubbo
2016-01-10 11:22 Agostino Sarubbo
2016-01-09 7:00 Agostino Sarubbo
2016-01-07 20:15 Markus Meier
2015-12-26 12:03 Agostino Sarubbo
2015-12-14 16:13 Agostino Sarubbo
2015-12-14 16:09 Agostino Sarubbo
2015-11-28 17:55 William Hubbs
2015-11-28 17:55 William Hubbs
2015-10-05 22:05 Mike Frysinger
2015-09-06 6:36 William Hubbs
2015-09-06 6:36 William Hubbs
2015-08-18 19:21 William Hubbs
2015-08-18 19:21 William Hubbs
2015-08-18 19:21 William Hubbs
2015-08-18 19:21 William Hubbs
2015-08-15 12:52 Mike Gilbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1493572989.e53ac2698567f4699f24f27630592fcfb0938015.floppym@gentoo \
--to=floppym@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox