diff options
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch | 151 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild | 207 | ||||
-rw-r--r-- | x11-misc/qt5ct/Manifest | 1 | ||||
-rw-r--r-- | x11-misc/qt5ct/metadata.xml | 4 | ||||
-rw-r--r-- | x11-misc/qt5ct/qt5ct-0.41.ebuild | 51 |
5 files changed, 414 insertions, 0 deletions
diff --git a/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch b/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch new file mode 100644 index 000000000000..836a2af54078 --- /dev/null +++ b/net-fs/nfs-utils/files/nfs-utils-2.4.1-Fix-include-order-between-config.h-and-stat.h.patch @@ -0,0 +1,151 @@ +From 2fbc62e2a13fc22b6ae4910e295a2c10fb790486 Mon Sep 17 00:00:00 2001 +From: Zoltan Karcagi <zkr7432@gmail.com> +Date: Mon, 12 Aug 2019 13:27:16 -0400 +Subject: [PATCH] Fix include order between config.h and stat.h + +At least on Arch linux ARM, the definition of struct stat in stat.h depends +on __USE_FILE_OFFSET64. This symbol comes from config.h when defined, +therefore config.h must always be included before stat.h. Fix all +occurrences where the order is wrong by moving config.h to the top. + +This fixes the client side error "Stale file handle" when mounting from +a server running Arch Linux ARM. + +Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com> +Signed-off-by: Steve Dickson <steved@redhat.com> +--- + support/misc/nfsd_path.c | 5 ++++- + support/misc/xstat.c | 5 ++++- + support/nfs/conffile.c | 8 +++++++- + utils/blkmapd/device-discovery.c | 8 ++++---- + utils/idmapd/idmapd.c | 8 ++++---- + 5 files changed, 23 insertions(+), 11 deletions(-) + +diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c +index 84e48028..f078a668 100644 +--- a/support/misc/nfsd_path.c ++++ b/support/misc/nfsd_path.c +@@ -1,3 +1,7 @@ ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ + #include <errno.h> + #include <sys/types.h> + #include <sys/stat.h> +@@ -5,7 +9,6 @@ + #include <stdlib.h> + #include <unistd.h> + +-#include "config.h" + #include "conffile.h" + #include "xmalloc.h" + #include "xlog.h" +diff --git a/support/misc/xstat.c b/support/misc/xstat.c +index fa047880..4c997eea 100644 +--- a/support/misc/xstat.c ++++ b/support/misc/xstat.c +@@ -1,3 +1,7 @@ ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ + #include <errno.h> + #include <sys/types.h> + #include <fcntl.h> +@@ -5,7 +9,6 @@ + #include <sys/sysmacros.h> + #include <unistd.h> + +-#include "config.h" + #include "xstat.h" + + #ifdef HAVE_FSTATAT +diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c +index b6400bec..6ba8a35c 100644 +--- a/support/nfs/conffile.c ++++ b/support/nfs/conffile.c +@@ -500,7 +500,7 @@ conf_readfile(const char *path) + + if ((stat (path, &sb) == 0) || (errno != ENOENT)) { + char *new_conf_addr = NULL; +- size_t sz = sb.st_size; ++ off_t sz; + int fd = open (path, O_RDONLY, 0); + + if (fd == -1) { +@@ -517,6 +517,11 @@ conf_readfile(const char *path) + + /* only after we have the lock, check the file size ready to read it */ + sz = lseek(fd, 0, SEEK_END); ++ if (sz < 0) { ++ xlog_warn("conf_readfile: unable to determine file size: %s", ++ strerror(errno)); ++ goto fail; ++ } + lseek(fd, 0, SEEK_SET); + + new_conf_addr = malloc(sz+1); +@@ -2162,6 +2167,7 @@ conf_write(const char *filename, const char *section, const char *arg, + ret = 0; + + cleanup: ++ flush_outqueue(&inqueue, NULL); + flush_outqueue(&outqueue, NULL); + + if (buff) +diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c +index e811703d..f5f9b10b 100644 +--- a/utils/blkmapd/device-discovery.c ++++ b/utils/blkmapd/device-discovery.c +@@ -26,6 +26,10 @@ + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif /* HAVE_CONFIG_H */ ++ + #include <sys/sysmacros.h> + #include <sys/types.h> + #include <sys/stat.h> +@@ -51,10 +55,6 @@ + #include <errno.h> + #include <libdevmapper.h> + +-#ifdef HAVE_CONFIG_H +-#include "config.h" +-#endif /* HAVE_CONFIG_H */ +- + #include "device-discovery.h" + #include "xcommon.h" + #include "nfslib.h" +diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c +index 62e37b8a..267acea5 100644 +--- a/utils/idmapd/idmapd.c ++++ b/utils/idmapd/idmapd.c +@@ -34,6 +34,10 @@ + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif /* HAVE_CONFIG_H */ ++ + #include <sys/types.h> + #include <sys/time.h> + #include <sys/inotify.h> +@@ -62,10 +66,6 @@ + #include <libgen.h> + #include <nfsidmap.h> + +-#ifdef HAVE_CONFIG_H +-#include "config.h" +-#endif /* HAVE_CONFIG_H */ +- + #include "xlog.h" + #include "conffile.h" + #include "queue.h" +-- +2.21.0 + diff --git a/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild b/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild new file mode 100644 index 000000000000..778fbf1dd67e --- /dev/null +++ b/net-fs/nfs-utils/nfs-utils-2.4.1-r2.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic linux-info multilib systemd + +DESCRIPTION="NFS client and server daemons" +HOMEPAGE="http://linux-nfs.org/" + +if [[ "${PV}" = *_rc* ]] ; then + MY_PV="$(ver_rs 1- -)" + SRC_URI="http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=snapshot;h=refs/tags/${PN}-${MY_PV};sf=tgz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${PN}-${MY_PV}" +else + SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="caps ipv6 junction kerberos ldap +libmount nfsdcld +nfsidmap +nfsv4 nfsv41 selinux tcpd +uuid" +REQUIRED_USE="kerberos? ( nfsv4 )" +RESTRICT="test" #315573 + +# kth-krb doesn't provide the right include +# files, and nfs-utils doesn't build against heimdal either, +# so don't depend on virtual/krb. +# (04 Feb 2005 agriffis) +DEPEND=" + >=dev-db/sqlite-3.3 + dev-libs/libxml2 + net-libs/libtirpc:= + >=net-nds/rpcbind-0.2.4 + sys-libs/e2fsprogs-libs + caps? ( sys-libs/libcap ) + ldap? ( net-nds/openldap ) + libmount? ( sys-apps/util-linux ) + nfsv4? ( + dev-libs/libevent:= + >=sys-apps/keyutils-1.5.9:= + kerberos? ( + >=net-libs/libtirpc-0.2.4-r1[kerberos] + app-crypt/mit-krb5 + ) + ) + nfsv41? ( + sys-fs/lvm2 + ) + tcpd? ( sys-apps/tcp-wrappers ) + uuid? ( sys-apps/util-linux )" +RDEPEND="${DEPEND} + !net-libs/libnfsidmap + !net-nds/portmap + !<sys-apps/openrc-0.13.9 + selinux? ( + sec-policy/selinux-rpc + sec-policy/selinux-rpcbind + ) +" +BDEPEND=" + net-libs/rpcsvc-proto + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch + "${FILESDIR}"/${PN}-1.2.8-cross-build.patch + "${FILESDIR}"/${PN}-2.3.4-no-werror.patch + "${FILESDIR}"/${P}-gssd-Look-in-lib32-for-gss-libs-aswell.patch + "${FILESDIR}"/${P}-Fix-include-order-between-config.h-and-stat.h.patch +) + +pkg_setup() { + linux-info_pkg_setup + if use nfsv4 && ! use nfsdcld && linux_config_exists && ! linux_chkconfig_present CRYPTO_MD5 ; then + ewarn "Your NFS server will be unable to track clients across server restarts!" + ewarn "Please enable the \"${HILITE}nfsdcld${NORMAL}\" USE flag to install the nfsdcltrack usermode" + ewarn "helper upcall program, or enable ${HILITE}CONFIG_CRYPTO_MD5${NORMAL} in your kernel to" + ewarn "support the legacy, in-kernel client tracker." + fi +} + +src_prepare() { + default + + sed \ + -e "/^sbindir/s:= := \"${EPREFIX}\":g" \ + -i utils/*/Makefile.am || die + + eautoreconf +} + +src_configure() { + export libsqlite3_cv_is_recent=yes # Our DEPEND forces this. + export ac_cv_header_keyutils_h=$(usex nfsidmap) + local myeconfargs=( + --with-statedir="${EPREFIX%/}"/var/lib/nfs + --enable-tirpc + --with-tirpcinclude="${EPREFIX%/}"/usr/include/tirpc/ + --with-pluginpath="${EPREFIX%/}"/usr/$(get_libdir)/libnfsidmap + --with-rpcgen + --with-systemd="$(systemd_get_systemunitdir)" + --without-gssglue + $(use_enable caps) + $(use_enable ipv6) + $(use_enable junction) + $(use_enable kerberos gss) + $(use_enable kerberos svcgss) + $(use_enable ldap) + $(use_enable libmount libmount-mount) + $(use_enable nfsdcld nfsdcltrack) + $(use_enable nfsv4) + $(use_enable nfsv41) + $(use_enable uuid) + $(use_with tcpd tcp-wrappers) + ) + econf "${myeconfargs[@]}" +} + +src_compile(){ + # remove compiled files bundled in the tarball + emake clean + default +} + +src_install() { + default + rm linux-nfs/Makefile* || die + dodoc -r linux-nfs README + + # Don't overwrite existing xtab/etab, install the original + # versions somewhere safe... more info in pkg_postinst + keepdir /var/lib/nfs/{,sm,sm.bak} + mv "${ED}"/var/lib/nfs "${ED}"/usr/$(get_libdir)/ || die + + # Install some client-side binaries in /sbin + dodir /sbin + mv "${ED}"/usr/sbin/rpc.statd "${ED}"/sbin/ || die + + if use nfsv4 && use nfsidmap ; then + insinto /etc + doins support/nfsidmap/idmapd.conf + + # Install a config file for idmappers in newer kernels. #415625 + insinto /etc/request-key.d + echo 'create id_resolver * * /usr/sbin/nfsidmap -t 600 %k %d' > id_resolver.conf + doins id_resolver.conf + fi + + insinto /etc + doins "${FILESDIR}"/exports + keepdir /etc/exports.d + + local f list=() opt_need="" + if use nfsv4 ; then + opt_need="rpc.idmapd" + list+=( rpc.idmapd rpc.pipefs ) + use kerberos && list+=( rpc.gssd rpc.svcgssd ) + fi + for f in nfs nfsclient rpc.statd "${list[@]}" ; do + newinitd "${FILESDIR}"/${f}.initd ${f} + done + newinitd "${FILESDIR}"/nfsmount.initd-1.3.1 nfsmount # Nuke after 2015/08/01 + for f in nfs nfsclient ; do + newconfd "${FILESDIR}"/${f}.confd ${f} + done + sed -i \ + -e "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" \ + "${ED}"/etc/conf.d/nfs || die #234132 + + local systemd_systemunitdir="$(systemd_get_systemunitdir)" + sed -i \ + -e 's:/usr/sbin/rpc.statd:/sbin/rpc.statd:' \ + "${ED}${systemd_systemunitdir}"/* || die + + keepdir /var/lib/nfs #368505 + keepdir /var/lib/nfs/v4recovery #603628 + +} + +pkg_postinst() { + # Install default xtab and friends if there's none existing. In + # src_install we put them in /usr/lib/nfs for safe-keeping, but + # the daemons actually use the files in /var/lib/nfs. #30486 + local f + for f in "${EROOT}"/usr/$(get_libdir)/nfs/*; do + [[ -e ${EROOT}/var/lib/nfs/${f##*/} ]] && continue + einfo "Copying default ${f##*/} from ${EPREFIX}/usr/$(get_libdir)/nfs to ${EPREFIX}/var/lib/nfs" + cp -pPR "${f}" "${EROOT}"/var/lib/nfs/ + done + + if systemd_is_booted; then + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 1.3.0; then + ewarn "We have switched to upstream systemd unit files. Since" + ewarn "they got renamed, you should probably enable the new ones." + ewarn "You can run 'equery files nfs-utils | grep systemd'" + ewarn "to know what services you need to enable now." + fi + done + else + ewarn "If you use OpenRC, the nfsmount service has been replaced with nfsclient." + ewarn "If you were using nfsmount, please add nfsclient and netmount to the" + ewarn "same runlevel as nfsmount." + fi +} diff --git a/x11-misc/qt5ct/Manifest b/x11-misc/qt5ct/Manifest index d67dc46ce5f8..c3738b43d33e 100644 --- a/x11-misc/qt5ct/Manifest +++ b/x11-misc/qt5ct/Manifest @@ -1,2 +1,3 @@ DIST qt5ct-0.35.tar.bz2 62547 BLAKE2B dd61f151e1c6c58095889b90cb30bb2baaf21fd8f181af37ee43c1d00404655d57c941cee905e737aff29122ae3f588d5c7ba46dc80ca76d749cc2dd66f35d57 SHA512 2bd24221d391c420e73488738ff10762d27eb21fb28dc69da27dcbfface0cd0f16049768b55867a059c93da07eddb76da1bc63aefd516e07e5049c847da3970a DIST qt5ct-0.36.tar.bz2 68181 BLAKE2B b2bf21a1e3f4c6045af5f2e633c2a839bdb49165eb7f3a7d84021faa1c178e4ab84556460c2aa5e2b530fa32fdf29e0f7d3b37c9c839b7bbc7cfc8b77dffbb70 SHA512 dfd6f85328fe8f14c8f2349bc0cac698e549350e2c000a73ac26474ca38ec5f44fd4ebed9b6976fc3423dda8322fd80355eafa6ecbec17495d1e2278c3189a88 +DIST qt5ct-0.41.tar.bz2 73009 BLAKE2B de6360feb16a82b262c13e6a3cbe226b7be7c3e95b1f1262b3802de59fc3bb8820c935b170a15a88e80164e6167f6259777c65fda6a3f8fbf1d115a63ddcc1f2 SHA512 a94f9996dc2198d3c8c9af8610912d12b915b8c547a49c36f7bc083b6f237b318d7903e91fb6fcfe06996a319c361104c1923e6d0c49446b6fb66a1e44fae009 diff --git a/x11-misc/qt5ct/metadata.xml b/x11-misc/qt5ct/metadata.xml index 86b995aa8038..dbe08059d44b 100644 --- a/x11-misc/qt5ct/metadata.xml +++ b/x11-misc/qt5ct/metadata.xml @@ -9,6 +9,10 @@ <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> + <maintainer type="person"> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> <longdescription> This program allows users to configure Qt5 settings (theme, font, icons, etc.) under DE/WM without Qt5 integration. diff --git a/x11-misc/qt5ct/qt5ct-0.41.ebuild b/x11-misc/qt5ct/qt5ct-0.41.ebuild new file mode 100644 index 000000000000..251e64ec19d7 --- /dev/null +++ b/x11-misc/qt5ct/qt5ct-0.41.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit qmake-utils + +DESCRIPTION="Qt5 configuration tool, similar to qtconfig for Qt4" +HOMEPAGE="https://sourceforge.net/projects/qt5ct/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+dbus" + +RDEPEND=" + dev-qt/qtcore:5 + dev-qt/qtgui:5= + dev-qt/qtwidgets:5 + dbus? ( + dev-qt/qtdbus:5 + dev-qt/qtgui:5[dbus] + ) +" +DEPEND="${RDEPEND} + dev-qt/linguist-tools:5 +" + +src_configure() { + eqmake5 DISABLE_DBUS=$(usex dbus 0 1) +} + +src_install() { + emake INSTALL_ROOT="${D}" install + einstalldocs + + newenvd - 98qt5ct <<< 'QT_QPA_PLATFORMTHEME=qt5ct' +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + ewarn "qt5ct configuration won't be applied to the currently running sessions." + ewarn "Please relogin." + fi + if ! has_version 'dev-qt/qtsvg:5'; then + elog + elog "For SVG icon themes, please install 'dev-qt/qtsvg:5'." + elog + fi +} |