diff options
author | Florian Fischer <vlooe@web.de> | 2009-06-11 19:59:46 +0200 |
---|---|---|
committer | Florian Fischer <vlooe@web.de> | 2009-06-11 19:59:46 +0200 |
commit | 2eb9107bc83d90b6f86181456d644c2a13903cd8 (patch) | |
tree | da79a1f3712152b8969f9c245b02e7b85e76ea6d | |
parent | synced sys-fs/udev with main tree (diff) | |
parent | Sync with main tree: sys-fs/udev-141-r1 (diff) | |
download | multilib-portage-2eb9107bc83d90b6f86181456d644c2a13903cd8.tar.gz multilib-portage-2eb9107bc83d90b6f86181456d644c2a13903cd8.tar.bz2 multilib-portage-2eb9107bc83d90b6f86181456d644c2a13903cd8.zip |
Merge branch 'master' of git@github.com:sjnewbury/multilib-overlay
Conflicts:
sys-fs/udev/Manifest
-rw-r--r-- | net-libs/gnutls/Manifest | 8 | ||||
-rw-r--r-- | net-libs/gnutls/gnutls-2.8.1.ebuild (renamed from net-libs/gnutls/gnutls-2.8.0.ebuild) | 8 | ||||
-rw-r--r-- | net-libs/gnutls/gnutls-2.9.1.ebuild (renamed from net-libs/gnutls/gnutls-2.9.0.ebuild) | 8 | ||||
-rw-r--r-- | sys-fs/udev/Manifest | 3 | ||||
-rw-r--r-- | sys-fs/udev/udev-141-r1.ebuild | 465 |
5 files changed, 480 insertions, 12 deletions
diff --git a/net-libs/gnutls/Manifest b/net-libs/gnutls/Manifest index 7c451f02c..863e1bb8c 100644 --- a/net-libs/gnutls/Manifest +++ b/net-libs/gnutls/Manifest @@ -6,8 +6,8 @@ AUX gnutls-2.3.11+gcc-4.3.patch 349 RMD160 192c663f741c6a2b6681b3873c199c64996d0 AUX gnutls-2.6.0-cxx-configure.in.patch 502 RMD160 fdd7f402f2a9122f8d7db9b165670c42d83abeb8 SHA1 748b7a0f0b689169054970993d7b4a6331f52c33 SHA256 c7a3ff932c467d08b27eee7e8b5bd1ce97b200328fc90478dee5ea3a59b18f71 AUX gnutls-2.6.0-openpgp-selftest.patch 508 RMD160 dcd254a8078c4ab21662377e4f53176a541292e4 SHA1 f73103e1aa5dcccd4449b42123c00b0e782cac67 SHA256 235e0a1e588548eb52627d9fae528c680aeaf260e6cb87afa86a624f134fbd08 DIST gnutls-2.6.6.tar.bz2 5116385 RMD160 dc6e717e38741628508208244f07fed8faedb13c SHA1 d1693e611aa7270f14bc500bd56ef529ffcb1703 SHA256 03d85b8b51ca7885740c69b87663963c58fe7c9672da0a43e45732078fabdc9e -DIST gnutls-2.8.0.tar.bz2 6177498 RMD160 ad9d356ab55567ffc65c7fa4f48d8594a1cd5981 SHA1 7c102253bb4e817f393b9979a62c647010312eac SHA256 18a85a54aa2a26969e7bc91af06166a831182496c0cc215a032e7376f7b5129b -DIST gnutls-2.9.0.tar.bz2 6104030 RMD160 5d6c02af24a62e0f9880720c9ab0233e7e4f58d6 SHA1 a52397f6f52970f51f8f6e49732a0290c59bbb0d SHA256 64f87ab21820452f9efa042a99b16a744fbd570cad1f67806ca5dc01e2afd707 +DIST gnutls-2.8.1.tar.bz2 6178662 RMD160 3b0d7a80a60dfc3222357d2c83a7ec32bd2c8e33 SHA1 b5fd364848709393d05def7e926caddd27169525 SHA256 a0300966a9761444b1e583c676f6c5c81e916897ea7d2e44d0c732c9d6e9c1ea +DIST gnutls-2.9.1.tar.bz2 6116679 RMD160 e219ca10a3918340c4defe71391af552b48739e4 SHA1 51ec5ed5670593e7a9f9d2c07da4086eef733970 SHA256 6207114a7c476187c9498ca5cf952e5e815932af87cd304eadf0ddf2d4496e7d EBUILD gnutls-2.6.6.ebuild 2374 RMD160 d4594eed275109d48fbfeeadee29681caaaaf16d SHA1 7af67dd641113f7ca15c72e72067678fcb2825de SHA256 c8c8470ecfa132dea43d846222dce59ecd79c636a2ac126def61f6b7d095f5c5 -EBUILD gnutls-2.8.0.ebuild 2289 RMD160 3075086b186f1d538cb0a4dc52c762aceee72d00 SHA1 3550387b55f71e1bccb6334c6a8ad25fbd2e008f SHA256 ee6dc2cf352c36a3aa87e69581b8bea7c4d44e999f029245755d733e69ecf4ba -EBUILD gnutls-2.9.0.ebuild 2289 RMD160 347f63843a3f8fdd0209407a7ad159fcb9ba1f7e SHA1 34e4a27d6371afd1e98a47c52e36410cf6ef4f5b SHA256 59b9eca953384b9963b2c7eb9c2366c1619450b25ec8c6264ab9c35ea3a5bfe0 +EBUILD gnutls-2.8.1.ebuild 2248 RMD160 d52f5229511fb4cd6fcd108412635928e1d30287 SHA1 057531567e7e57c7ba2ad738db466bfef6e7c465 SHA256 a25794deb0ea4783f3baec20355ae62c16735ccf31ae67459033200903394aef +EBUILD gnutls-2.9.1.ebuild 2248 RMD160 148237210afb12262985a933d86cb6eaf1e03519 SHA1 1c7cb5ac2845b93c5fd4508f28a104496f320dad SHA256 c1a886f9811d09e1561f012eebaaca6193a080eb7e71e033631fe6dd421746cd diff --git a/net-libs/gnutls/gnutls-2.8.0.ebuild b/net-libs/gnutls/gnutls-2.8.1.ebuild index f9d837c25..8b7de41de 100644 --- a/net-libs/gnutls/gnutls-2.8.0.ebuild +++ b/net-libs/gnutls/gnutls-2.8.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/gnutls-2.8.0.ebuild,v 1.1 2009/05/28 17:33:30 arfrever Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/gnutls-2.8.1.ebuild,v 1.1 2009/06/10 17:16:16 arfrever Exp $ EAPI="2" @@ -23,7 +23,7 @@ unset MINOR_VERSION LICENSE="LGPL-2.1 GPL-3" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" -IUSE="bindist +cxx doc guile lzo nls zlib" +IUSE="bindist +cxx doc examples guile lzo nls zlib" RDEPEND="dev-libs/libgpg-error >=dev-libs/libgcrypt-1.4.0 @@ -60,7 +60,7 @@ src_prepare() { elibtoolize # for sane .so versioning on FreeBSD } -multilib-native_src_configure_internal() { +src_configure() { local myconf use bindist && myconf="--without-lzo" || myconf="$(use_with lzo)" econf \ @@ -72,7 +72,7 @@ multilib-native_src_configure_internal() { ${myconf} } -multilib-native_src_install_internal() { +src_install() { emake DESTDIR="${D}" install || die "emake install failed" dodoc AUTHORS ChangeLog NEWS README THANKS doc/TODO diff --git a/net-libs/gnutls/gnutls-2.9.0.ebuild b/net-libs/gnutls/gnutls-2.9.1.ebuild index b3420eb42..e24006890 100644 --- a/net-libs/gnutls/gnutls-2.9.0.ebuild +++ b/net-libs/gnutls/gnutls-2.9.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/gnutls-2.9.0.ebuild,v 1.1 2009/05/28 17:33:30 arfrever Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/gnutls/gnutls-2.9.1.ebuild,v 1.1 2009/06/09 09:34:29 arfrever Exp $ EAPI="2" @@ -23,7 +23,7 @@ unset MINOR_VERSION LICENSE="LGPL-2.1 GPL-3" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" -IUSE="bindist +cxx doc guile lzo nls zlib" +IUSE="bindist +cxx doc examples guile lzo nls zlib" RDEPEND="dev-libs/libgpg-error >=dev-libs/libgcrypt-1.4.0 @@ -60,7 +60,7 @@ src_prepare() { elibtoolize # for sane .so versioning on FreeBSD } -multilib-native_src_configure_internal() { +src_configure() { local myconf use bindist && myconf="--without-lzo" || myconf="$(use_with lzo)" econf \ @@ -72,7 +72,7 @@ multilib-native_src_configure_internal() { ${myconf} } -multilib-native_src_install_internal() { +src_install() { emake DESTDIR="${D}" install || die "emake install failed" dodoc AUTHORS ChangeLog NEWS README THANKS doc/TODO diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest index b5090a585..92846642d 100644 --- a/sys-fs/udev/Manifest +++ b/sys-fs/udev/Manifest @@ -21,6 +21,8 @@ AUX udev-110-root-link-1.diff 3412 RMD160 d4a61b2825ec593198c286622b5f9a188bd18e AUX udev-114-root-link-2.diff 4677 RMD160 47b040b51ed0dc637ff2197373db5173bc59854e SHA1 be6ab3162682b4c4cd922d57d356eee4b35d352e SHA256 d212407420bb46a541e547d59862668745dd8b516b6be6e6619cf967ab2124f9 AUX udev-122-rules-update.diff 586 RMD160 5b9d086ac57ae282b5cd30eda375fc736b2c1af8 SHA1 91ed560c66a5619c7e6fe411a8802acc31682185 SHA256 1eaa8365efa69445e8a1e95c88f1fd411ed3b3f0b73e3d1c3798f0943c5584a8 AUX udev-124-cdrom-autoclose-bug.diff 1381 RMD160 7e1ee6fa9f59f2528df7c4b3deb1d8c12332b14b SHA1 04daf04b28f2963d98c2826962de625b4ba4b03e SHA256 260a1bd5ad54c8c484a55a503c7b602518070dcc40c2887bb5ec84a5231bedf9 +AUX udev-124-encoding-overflow.patch 326 RMD160 8f08aa593d93451d67bdbfe0b9ea2d59e7a5947e SHA1 9f476abc669656b2ae55eca244a4cc956525ab39 SHA256 870b7347a57909c27cc5c6c03af0b2cf71f18c07b826f8d2d16ac688430d7d28 +AUX udev-124-netlink-owner-check.patch 1162 RMD160 420a22a2762930479df5c7b609931685bba29a6c SHA1 0fbdd35ad860e9b09d141735757fad0319bd08b3 SHA256 c2354e23c451883ab1597603467caf24e0a6893af4d8a3b86aee2ba98917a45e AUX udev-125-cdrom-autoclose-bug.diff 1369 RMD160 52eb8c8dd8160431bc533e921490efb374ae7f10 SHA1 5b0fc1f809b2ba1ced47eb05c6673734a6c98c85 SHA256 81512746419ec4cd8a76e9a470c2a94201d7747ff09bb3b5ed7de2d588a83081 AUX udev-125-rules-update.diff 577 RMD160 13aad3db2819980996f2b36267b1b4b4fe48e943 SHA1 862386a818aed8dc283caef1cea0bd6567634531 SHA256 223b6d5196e24cc608e45ff9a589cfadac2944e1d89b32c80fdf101f381ce6c6 AUX udev-133-rules-update.diff 2310 RMD160 92359598dfe12f83a8fbeccef910fb7f14af1470 SHA1 d9eba00002ca66297b861cf4c13539f069a295d7 SHA256 f377673736e59ba4b026489bff8e37b710c4fe11dbed7d8bb0ae323141327126 @@ -60,4 +62,5 @@ DIST udev-124.tar.bz2 208381 RMD160 3a7affb0f11087fdb5d016d13add32b0442d13df SHA DIST udev-141.tar.bz2 448373 RMD160 54da17bd8d37c00a97d0914e6b003096dedf5753 SHA1 f82279e4b4759b9e3134f99a538ccd1a437bf7f0 SHA256 51e0128c3fc29971d978050839fd59f103fddae4a47c8fd2b36f2836cfb59d35 EBUILD udev-124-r1.ebuild 10737 RMD160 f78b005bb73837e6b162993940ff4caad3ec1683 SHA1 a958b0381a2ebcf936212d3008c443ee47e7d0c9 SHA256 4c7d9aeb174282c98139c346089b747a7823b6a6302d6031d6037e9d463fca96 EBUILD udev-124-r2.ebuild 11091 RMD160 8c187316c2f8393bb81ebed593aa722e40085d8a SHA1 5a370180e45a6e2a4c5358ba275da72e5550306c SHA256 a490cbf954185e670258bbff734948a3f251f84e2a83208931327c2b0180cef2 +EBUILD udev-141-r1.ebuild 13254 RMD160 a196213e4e2f8f5f36a83e124abf89e23fcc1220 SHA1 1f84d8d58f7ec61c0c4a47a00156073c931d6aa8 SHA256 3edc74f29b1d7e05107b1ff61c4b3ed39c18640672437b29d24fc19448c5f36d EBUILD udev-141.ebuild 12615 RMD160 14e99496e8d6a35110bf426842a5ae20b0598a45 SHA1 f4cf862ca891534121d7d0e2842028da005956b9 SHA256 4bd778441ad1aed249dc04691e915947528e9add0301a344ba20ae18ec91d6af diff --git a/sys-fs/udev/udev-141-r1.ebuild b/sys-fs/udev/udev-141-r1.ebuild new file mode 100644 index 000000000..8129d347c --- /dev/null +++ b/sys-fs/udev/udev-141-r1.ebuild @@ -0,0 +1,465 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-141-r1.ebuild,v 1.1 2009/06/10 20:10:01 zzam Exp $ + +EAPI=2 + +MULTILIB_EXT_SOURCE_BUILD="yes" + +inherit eutils flag-o-matic multilib toolchain-funcs versionator multilib-native + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/hotplug/udev.git" + EGIT_BRANCH="master" + inherit git autotools +else + SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2" +fi +DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" +HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="selinux +devfs-compat" + +COMMON_DEPEND="selinux? ( sys-libs/libselinux[lib32?] )" + +if [[ ${PV} == "9999" ]]; then + # for documentation processing with xsltproc + DEPEND="${COMMON_DEPEND} + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd" +else + DEPEND="${COMMON_DEPEND}" +fi + +RDEPEND="${COMMON_DEPEND} + !sys-apps/coldplug + !<sys-fs/device-mapper-1.02.19-r1 + >=sys-apps/baselayout-1.12.5" + +# We need the lib/rcscripts/addon support +PROVIDE="virtual/dev-manager" + +multilib-native_pkg_setup_internal() { + udev_helper_dir="/$(get_libdir)/udev" + + # comparing kernel version without linux-info.eclass to not pull + # virtual/linux-sources + + local KV=$(uname -r) + local KV_MAJOR=$(get_major_version ${KV}) + local KV_MINOR=$(get_version_component_range 2 ${KV}) + local KV_MICRO=$(get_version_component_range 3 ${KV}) + + local KV_min_micro=15 KV_min_micro_reliable=22 + KV_min=2.6.${KV_min_micro} + KV_min_reliable=2.6.${KV_min_micro_reliable} + + local ok=0 + if [[ ${KV_MAJOR} == 2 && ${KV_MINOR} == 6 ]] + then + if [[ ${KV_MICRO} -ge ${KV_min_micro_reliable} ]]; then + ok=2 + elif [[ ${KV_MICRO} -ge ${KV_min_micro} ]]; then + ok=1 + fi + fi + + if [[ ${ok} -lt 1 ]] + then + ewarn + ewarn "${P} does not support Linux kernel before version ${KV_min}!" + fi + if [[ ${ok} -lt 2 ]]; then + ewarn "If you want to use udev reliable you should update" + ewarn "to at least kernel version ${KV_min_reliable}!" + ewarn + ebeep + fi +} + +sed_helper_dir() { + sed -e "s#/lib/udev#${udev_helper_dir}#" -i "$@" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + git_src_unpack + else + unpack ${A} + fi +} + +multilib-native_src_prepare_internal() { + # patches go here... + if ! use devfs-compat; then + # see Bug #269359 + epatch "${FILESDIR}"/udev-141-remove-devfs-names.diff + fi + + # change rules back to group uucp instead of dialout for now + sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ + -i rules/{rules.d,packages,gentoo}/*.rules \ + || die "failed to change group dialout to uucp" + + if [[ ${PV} != 9999 ]]; then + # Make sure there is no sudden changes to upstream rules file + # (more for my own needs than anything else ...) + MD5=$(md5sum < "${S}/rules/rules.d/50-udev-default.rules") + MD5=${MD5/ -/} + if [[ ${MD5} != b5c2f014a48a53921de37c4e469aab96 ]] + then + echo + eerror "50-udev-default.rules has been updated, please validate!" + eerror "md5sum=${MD5}" + die "50-udev-default.rules has been updated, please validate!" + fi + fi + + sed_helper_dir \ + rules/rules.d/50-udev-default.rules \ + extras/rule_generator/write_*_rules \ + udev/udev-util.c \ + udev/udev-rules.c \ + udev/udevd.c || die "sed failed" + + if [[ ${PV} == 9999 ]]; then + eautoreconf + fi +} + +multilib-native_src_configure_internal() { + filter-flags -fprefetch-loop-arrays + + econf \ + --prefix=/usr \ + --sysconfdir=/etc \ + --exec-prefix= \ + --with-libdir-name=$(get_libdir) \ + --enable-logging \ + $(use_with selinux) + + emake || die "compiling udev failed" +} + +multilib-native_src_install_internal() { + local scriptdir="${FILESDIR}/136" + + into / + emake DESTDIR="${D}" install || die "make install failed" + if [[ "$(get_libdir)" != "lib" ]]; then + # we can not just rename /lib to /lib64, because + # make install creates /lib64 and /lib + mkdir -p "${D}/$(get_libdir)" + mv "${D}"/lib/* "${D}/$(get_libdir)/" + rmdir "${D}"/lib + fi + + exeinto "${udev_helper_dir}" + newexe "${FILESDIR}"/net-130-r1.sh net.sh || die "net.sh not installed properly" + newexe "${FILESDIR}"/move_tmp_persistent_rules-112-r1.sh move_tmp_persistent_rules.sh \ + || die "move_tmp_persistent_rules.sh not installed properly" + newexe "${FILESDIR}"/write_root_link_rule-125 write_root_link_rule \ + || die "write_root_link_rule not installed properly" + + doexe "${scriptdir}"/shell-compat-KV.sh \ + || die "shell-compat.sh not installed properly" + doexe "${scriptdir}"/shell-compat-addon.sh \ + || die "shell-compat.sh not installed properly" + + keepdir "${udev_helper_dir}"/state + keepdir "${udev_helper_dir}"/devices + + # create symlinks for these utilities to /sbin + # where multipath-tools expect them to be (Bug #168588) + dosym "..${udev_helper_dir}/vol_id" /sbin/vol_id + dosym "..${udev_helper_dir}/scsi_id" /sbin/scsi_id + + # Add gentoo stuff to udev.conf + echo "# If you need to change mount-options, do it in /etc/fstab" \ + >> "${D}"/etc/udev/udev.conf + + # let the dir exist at least + keepdir /etc/udev/rules.d + + # Now installing rules + cd "${EMULTILIB_SOURCE_TOPDIR}"/rules + insinto "${udev_helper_dir}"/rules.d/ + + # Our rules files + doins gentoo/??-*.rules + doins packages/40-alsa.rules + doins packages/40-isdn.rules + + # Adding arch specific rules + if [[ -f packages/40-${ARCH}.rules ]] + then + doins "packages/40-${ARCH}.rules" + fi + cd "${EMULTILIB_SOURCE_TOPDIR}" + + # our udev hooks into the rc system + insinto /$(get_libdir)/rcscripts/addons + doins "${scriptdir}"/udev-start.sh \ + || die "udev-start.sh not installed properly" + doins "${scriptdir}"/udev-stop.sh \ + || die "udev-stop.sh not installed properly" + + local init + # udev-postmount and init-scripts for >=openrc-0.3.1, Bug #240984 + for init in udev udev-mount udev-dev-tarball udev-postmount; do + newinitd "${scriptdir}/${init}.initd" "${init}" \ + || die "initscript ${init} not installed properly" + done + + # insert minimum kernel versions + sed -e "s/%KV_MIN%/${KV_min}/" \ + -e "s/%KV_MIN_RELIABLE%/${KV_min_reliable}/" \ + -i "${D}"/etc/init.d/udev-mount + + # config file for init-script and start-addon + newconfd "${scriptdir}/udev.confd" udev \ + || die "config file not installed properly" + + insinto /etc/modprobe.d + newins "${FILESDIR}"/blacklist-110 blacklist.conf + newins "${FILESDIR}"/pnp-aliases pnp-aliases.conf + + # convert /lib/udev to real used dir + sed_helper_dir \ + "${D}/$(get_libdir)"/rcscripts/addons/*.sh \ + "${D}"/etc/init.d/udev* \ + "${D}"/etc/modprobe.d/* + + # documentation + dodoc ChangeLog README TODO || die "failed installing docs" + + cd docs/writing_udev_rules + mv index.html writing_udev_rules.html + dohtml *.html + + cd "${EMULTILIB_SOURCE_TOPDIR}" + + newdoc extras/volume_id/README README_volume_id + + echo "CONFIG_PROTECT_MASK=\"/etc/udev/rules.d\"" > 20udev + doenvd 20udev +} + +pkg_preinst() { + local f dir=${ROOT}/etc/modprobe.d/ + for f in pnp-aliases blacklist; do + if [[ -f $dir/$f && ! -f $dir/$f.conf ]] + then + elog "Moving $dir/$f to $f.conf" + mv -f "$dir/$f" "$dir/$f.conf" + fi + done + + if [[ -d ${ROOT}/lib/udev-state ]] + then + mv -f "${ROOT}"/lib/udev-state/* "${D}"/lib/udev/state/ + rm -r "${ROOT}"/lib/udev-state + fi + + if [[ -f ${ROOT}/etc/udev/udev.config && + ! -f ${ROOT}/etc/udev/udev.rules ]] + then + mv -f "${ROOT}"/etc/udev/udev.config "${ROOT}"/etc/udev/udev.rules + fi + + # delete the old udev.hotplug symlink if it is present + if [[ -h ${ROOT}/etc/hotplug.d/default/udev.hotplug ]] + then + rm -f "${ROOT}"/etc/hotplug.d/default/udev.hotplug + fi + + # delete the old wait_for_sysfs.hotplug symlink if it is present + if [[ -h ${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug ]] + then + rm -f "${ROOT}"/etc/hotplug.d/default/05-wait_for_sysfs.hotplug + fi + + # delete the old wait_for_sysfs.hotplug symlink if it is present + if [[ -h ${ROOT}/etc/hotplug.d/default/10-udev.hotplug ]] + then + rm -f "${ROOT}"/etc/hotplug.d/default/10-udev.hotplug + fi + + # is there a stale coldplug initscript? (CONFIG_PROTECT leaves it behind) + coldplug_stale="" + if [[ -f ${ROOT}/etc/init.d/coldplug ]] + then + coldplug_stale="1" + fi + + has_version "=${CATEGORY}/${PN}-103-r3" + previous_equal_to_103_r3=$? + + has_version "<${CATEGORY}/${PN}-104-r5" + previous_less_than_104_r5=$? + + has_version "<${CATEGORY}/${PN}-106-r5" + previous_less_than_106_r5=$? + + has_version "<${CATEGORY}/${PN}-113" + previous_less_than_113=$? +} + +fix_old_persistent_net_rules() { + local rules=${ROOT}/etc/udev/rules.d/70-persistent-net.rules + [[ -f ${rules} ]] || return + + elog + elog "Updating persistent-net rules file" + + # Change ATTRS to ATTR matches, Bug #246927 + sed -i -e 's/ATTRS{/ATTR{/g' "${rules}" + + # Add KERNEL matches if missing, Bug #246849 + sed -ri \ + -e '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + "${rules}" +} + +# See Bug #129204 for a discussion about restarting udevd +restart_udevd() { + # need to merge to our system + [[ ${ROOT} = / ]] || return + + # check if root of init-process is identical to ours (not in chroot) + [[ -r /proc/1/root && /proc/1/root/ -ef /proc/self/root/ ]] || return + + # abort if there is no udevd running + [[ -n $(pidof udevd) ]] || return + + # abort if no /dev/.udev exists + [[ -e /dev/.udev ]] || return + + elog + elog "restarting udevd now." + + killall -15 udevd &>/dev/null + sleep 1 + killall -9 udevd &>/dev/null + + /sbin/udevd --daemon +} + +pkg_postinst() { + fix_old_persistent_net_rules + + restart_udevd + + if [[ -e "${ROOT}"/etc/runlevels/sysinit && ! -e "${ROOT}"/etc/runlevels/sysinit/udev ]] + then + ewarn + ewarn "You need to add the udev init script to the runlevel sysinit," + ewarn "else your system will not be able to boot" + ewarn "after updating to >=openrc-0.4.0" + ewarn "Run this to enable udev for >=openrc-0.4.0:" + ewarn "\trc-update add udev sysinit" + ewarn + fi + + # people want reminders, I'll give them reminders. Odds are they will + # just ignore them anyway... + + if [[ ${coldplug_stale} == 1 ]] + then + ewarn "A stale coldplug init script found. You should run:" + ewarn + ewarn " rc-update del coldplug" + ewarn " rm -f /etc/init.d/coldplug" + ewarn + ewarn "udev now provides its own coldplug functionality." + fi + + # delete 40-scsi-hotplug.rules - all integrated in 50-udev.rules + if [[ $previous_equal_to_103_r3 = 0 ]] && + [[ -e ${ROOT}/etc/udev/rules.d/40-scsi-hotplug.rules ]] + then + ewarn "Deleting stray 40-scsi-hotplug.rules" + ewarn "installed by sys-fs/udev-103-r3" + rm -f "${ROOT}"/etc/udev/rules.d/40-scsi-hotplug.rules + fi + + # Removing some device-nodes we thought we need some time ago + if [[ -d ${ROOT}/lib/udev/devices ]] + then + rm -f "${ROOT}"/lib/udev/devices/{null,zero,console,urandom} + fi + + # Removing some old file + if [[ $previous_less_than_104_r5 = 0 ]] + then + rm -f "${ROOT}"/etc/dev.d/net/hotplug.dev + rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/net 2>/dev/null + fi + + if [[ $previous_less_than_106_r5 = 0 ]] && + [[ -e ${ROOT}/etc/udev/rules.d/95-net.rules ]] + then + rm -f "${ROOT}"/etc/udev/rules.d/95-net.rules + fi + + # Try to remove /etc/dev.d as that is obsolete + if [[ -d ${ROOT}/etc/dev.d ]] + then + rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/default "${ROOT}"/etc/dev.d 2>/dev/null + if [[ -d ${ROOT}/etc/dev.d ]] + then + ewarn "You still have the directory /etc/dev.d on your system." + ewarn "This is no longer used by udev and can be removed." + fi + fi + + # 64-device-mapper.rules now gets installed by sys-fs/device-mapper + # remove it if user don't has sys-fs/device-mapper installed + if [[ $previous_less_than_113 = 0 ]] && + [[ -f ${ROOT}/etc/udev/rules.d/64-device-mapper.rules ]] && + ! has_version sys-fs/device-mapper + then + rm -f "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules + einfo "Removed unneeded file 64-device-mapper.rules" + fi + + # requested in Bug #225033: + elog + elog "persistent-net does assigning fixed names to network devices." + elog "If you have problems with the persistent-net rules," + elog "just delete the rules file" + elog "\trm ${ROOT}etc/udev/rules.d/70-persistent-net.rules" + elog "and then reboot." + elog + elog "This may however number your devices in a different way than they are now." + + ewarn + ewarn "If you build an initramfs including udev, then please" + ewarn "make sure that the /sbin/udevadm binary gets included," + ewarn "and your scripts changed to use it,as it replaces the" + ewarn "old helper apps udevinfo, udevtrigger, ..." + + ewarn + ewarn "mount options for directory /dev are no longer" + ewarn "set in /etc/udev/udev.conf, but in /etc/fstab" + ewarn "as for other directories." + + if use devfs-compat; then + ewarn + ewarn "You have devfs-compat use flag enabled." + ewarn "This enables devfs compatible device names." + ewarn "If you use /dev/md/*, /dev/loop/* or /dev/rd/*," + ewarn "then please migrate over to using the device names" + ewarn "/dev/md*, /dev/loop* and /dev/ram*." + ewarn "The devfs-compat rules will be removed in the future." + ewarn "For reference see Bug #269359." + fi + + elog + elog "For more information on udev on Gentoo, writing udev rules, and" + elog " fixing known issues visit:" + elog " http://www.gentoo.org/doc/en/udev-guide.xml" +} |