void-packages

Void Source Packages
git clone git://ezup.dev/void-packages.git
Log | Files | Refs | README | LICENSE

commit 87ece65128ae9f92e5539bd5450a4ebefdc3a96f
parent 15f1c76b0eb54d74a6e9f91a58585498a9b08d00
Author: Dash Eclipse <dash@ezup.dev>
Date:   Sun, 15 Nov 2020 16:18:44 +0000

New package: ansifilter

Diffstat:
MCONTRIBUTING.md | 2+-
MManual.md | 53++++++++++++++++++++++++++++++++++++++++-------------
Mcommon/build-style/cmake.sh | 16+++++++++++++++-
Mcommon/build-style/gnu-makefile.sh | 2+-
Mcommon/hooks/post-install/04-create-xbps-metadata-scripts.sh | 2+-
Mcommon/shlibs | 77+++++++++++++++++++++++++++++++++++++----------------------------------------
Mezup/pkg-list.txt | 3+++
Aezup/upstream.txt | 11+++++++++++
Asrcpkgs/ansifilter/template | 12++++++++++++
Msrcpkgs/base-files/files/vkpurge | 8+++++---
Msrcpkgs/base-files/template | 2+-
Asrcpkgs/cross-aarch64-linux-musl/files/use-pure-64bit-configs.patch | 2++
Msrcpkgs/cross-aarch64-linux-musl/template | 6+++---
Asrcpkgs/gcc/patches/fix-vtv-link-order.patch | 20++++++++++++++++++++
Asrcpkgs/gcc/patches/use-pure-64bit-configs.patch | 213+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrcpkgs/gcc/template | 40++++++++++++----------------------------
Msrcpkgs/xbps-triggers/files/dkms | 6+++---
Msrcpkgs/xbps-triggers/files/system-accounts | 168+++++++++++++++++++++++++++++++++++++++++++------------------------------------
Msrcpkgs/xbps-triggers/files/texmf-dist | 4+++-
Msrcpkgs/xbps-triggers/template | 5++---
Mxbps-src | 20++++++--------------
21 files changed, 483 insertions(+), 189 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md @@ -49,7 +49,7 @@ Once you have built your template file or files, the commit message should have If you want to describe your changes in more detail, add an empty line followed by those details ([example](https://github.com/void-linux/void-packages/commit/f1c45a502086ba1952f23ace9084a870ce437bc6)). Pull requests are automatically submitted for Continuous Integration (CI) testing to ensure packages build on various combinations of libc and architecture. -Packages that take longer than 50 minutes to build (for example, Firefox or the Linux kernel) will fail CI and should include `[ci skip]` in the last line of the last commit message in the PR to avoid wasting CI builder time. +Packages that take longer than 120 minutes or need more than 14G of storage to complete their build (for example, Firefox or the Linux kernel) will fail CI and should include `[ci skip]` in the PR title or body (the comment field when the PR is being opened) to avoid wasting CI builder time. Use your best judgment on build times based on your local building experience. If you skip CI when submitting a PR, please build and cross-build for a variety of architectures locally, with both glibc and musl, and note your local results in PR comments. Make sure to cover 64-bit and 32-bit architectures. diff --git a/Manual.md b/Manual.md @@ -8,7 +8,7 @@ packages for XBPS, the `Void Linux` native packaging system. * [Introduction](#Introduction) * [Quality Requirements](#quality_requirements) * [Package build phases](#buildphase) - * [Package naming conventions](#namingconvention) + * [Package naming conventions](#namingconventions) * [Libraries](#libs) * [Language Modules](#language_modules) * [Language Bindings](#language_bindings) @@ -136,6 +136,15 @@ the Void packages system. 1. Required: Another package either within the repository or pending inclusion requires the package. +In particular, new themes are highly unlikely to be accepted. Simple shell +scripts are unlikely to be accepted unless they provide considerable value to a +broad user base. New fonts may be accepted if they provide value beyond +aesthetics (e.g. they contain glyphs for a script missing in already packaged +fonts). + +Browser forks, including those based on Chromium and Firefox, are generally not +accepted. Such forks require heavy patching, maintenance and hours of build time. + <a id="buildphase"></a> ### Package build phases @@ -332,6 +341,13 @@ The following functions are defined by `xbps-src` and can be used on any templat Note that vsed will call the sed command for every regex specified against every file specified, in the order that they are given. +- *vcompletion()* `<file> <shell> [<command>]` + + Installs shell completion from `file` for `command`, in the correct location + and with the appropriate filename for `shell`. If `command` isn't specified, + it will default to `pkgname`. The `shell` argument can be one of `bash`, + `fish` or `zsh`. + > Shell wildcards must be properly quoted, Example: `vmove "usr/lib/*.a"`. <a id="global_vars"></a> @@ -608,6 +624,12 @@ the `$DESTDIR` which will not be scanned for runtime dependencies. This may be u skip files which are not meant to be run or loaded on the host but are to be sent to some target device or emulation. +- `ignore_elf_files` White space separated list of machine code files +in /usr/share directory specified by absolute path, which are expected and allowed. + +- `ignore_elf_dirs` White space separated list of directories in /usr/share directory +specified by absolute path, which are expected and allowed to contain machine code files. + - `nocross` If set, cross compilation won't be allowed and will exit immediately. This should be set to a string describing why it fails, or a link to a travis buildlog demonstrating the failure. @@ -635,6 +657,9 @@ This appends to the generated file rather than replacing it. - `nopie` Only needs to be set to something to make active, disables building the package with hardening features (PIE, relro, etc). Not necessary for most packages. +- `nopie_files` White-space seperated list of ELF binaries that won't be checked +for PIE. + - `reverts` xbps supports a unique feature which allows to downgrade from broken packages automatically. In the `reverts` field one can define a list of broken pkgver the resulting package should revert. This field *must* be defined before @@ -687,8 +712,10 @@ used. - `fetch_cmd` Executable to be used to fetch URLs in `distfiles` during the `do_fetch` phase. - `archs` Whitespace separated list of architectures that a package can be -built for, available architectures can be found under `common/cross-profiles` -alongside the `noarch` value for packages that do not contain any machine code. +built for, available architectures can be found under `common/cross-profiles`. +In general, `archs` should only be set if the upstream software explicitly targets +certain architectures or there is a compelling reason why the software should not be +available on some supported architectures. Examples: ``` @@ -698,9 +725,8 @@ Examples: archs="x86_64-musl ~*-musl" # Default value (all arches) archs="*" - # Packages that do not depend on architecture-specific objects - archs=noarch ``` +Do not use noarch. It is deprecated and being removed. <a id="explain_depends"></a> #### About the many types of `depends` variable. @@ -887,8 +913,8 @@ can be used to pass arguments during compilation. If your package does not make extensions consider using the `gem` build style instead. - `gem` For packages that are installed using gems from [RubyGems](https://rubygems.org/). -The gem command can be overridden by `gem_cmd`. `archs` is set to `noarch` unconditionally -and `distfiles` is set by the build style if the template does not do so. If your gem +The gem command can be overridden by `gem_cmd`. +`distfiles` is set by the build style if the template does not do so. If your gem provides extensions which must be compiled consider using the `gemspec` build style instead. - `ruby-module` For packages that are ruby modules and are installable via `ruby install.rb`. @@ -932,7 +958,7 @@ Environment variables for a specific `build_style` can be declared in a filename matching the `build_style` name, Example: `common/environment/build-style/gnu-configure.sh` - + - `texmf` For texmf zip/tarballs that need to go into /usr/share/texmf-dist. Includes duplicates handling. @@ -958,7 +984,9 @@ additional paths to be searched when linking target binaries to be introspected. - `qemu` sets additional variables for the `cmake` and `meson` build styles to allow executing cross-compiled binaries inside qemu. It sets `CMAKE_CROSSCOMPILING_EMULATOR` for cmake and `exe_wrapper` for meson -to `qemu-<target_arch>-static` and `QEMU_LD_PREFIX` to `XBPS_CROSS_BASE` +to `qemu-<target_arch>-static` and `QEMU_LD_PREFIX` to `XBPS_CROSS_BASE`. +It also creates the `vtargetrun` function to wrap commands in a call to +`qemu-<target_arch>-static` for the target architecture. - `qmake` creates the `qt.conf` configuration file (cf. `qmake` `build_style`) needed for cross builds and a qmake-wrapper to make `qmake` use this configuration. @@ -1240,7 +1268,7 @@ The following variables can be used for this purpose: - `system_groups` This specifies the names of the new *system groups* to be created, separated by blanks. Optionally the **gid** can be specified by delimiting it with a -colon, i.e `system_groups="mygroup:78"` or `system_groups="foo blah:8000"`. +colon, i.e `system_groups="_mygroup:78"` or `system_groups="_foo _blah:8000"`. - `system_accounts` This specifies the names of the new **system users/groups** to be created, separated by blanks, i.e `system_accounts="_foo _blah:22"`. Optionally the **uid** and **gid** @@ -1257,7 +1285,7 @@ The **system user** is created by using a dynamically allocated **uid/gid** in y and it's created as a `system account`, unless the **uid** is set. A new group will be created for the specified `system account` and used exclusively for this purpose. -System accounts must be prefixed with an underscore to prevent clashing with names of user +System accounts and groups must be prefixed with an underscore to prevent clashing with names of user accounts. > NOTE: The underscore policy does not apply to old packages, due to the inevitable breakage of @@ -1422,7 +1450,7 @@ type used to split architecture independent, big(ger) or huge amounts of data from a package's main and architecture dependent part. It is up to you to decide, if a `-data` subpackage makes sense for your package. This type is common for games (graphics, sound and music), part libraries (CAD) -or card material (maps). Data subpackages are almost always `archs=noarch`. +or card material (maps). The main package must then have `depends="${pkgname}-data-${version}_${revision}"`, possibly in addition to other, non-automatic depends. @@ -1560,7 +1588,6 @@ The following variables influence how Haskell packages are built: Font packages are very straightforward to write, they are always set with the following variables: -- `archs=noarch`: Font packages don't install arch specific files. - `depends="font-util"`: because they are required for regenerating the font cache during the install/removal of the package - `font_dirs`: which should be set to the directory where the package diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh @@ -6,7 +6,21 @@ do_configure() { [ ! -d ${cmake_builddir:=build} ] && mkdir -p ${cmake_builddir} cd ${cmake_builddir} - if [ "$CROSS_BUILD" ]; then + if [ -z "$CHROOT_READY" ]; then + cat >bootstrap.cmake <<_EOF +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${CC}) +SET(CMAKE_CXX_COMPILER ${CXX}) + +SET(CMAKE_FIND_ROOT_PATH ${XBPS_MASTERDIR}) + +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +_EOF + configure_args+=" -DCMAKE_TOOLCHAIN_FILE=bootstrap.cmake" + elif [ "$CROSS_BUILD" ]; then case "$XBPS_TARGET_MACHINE" in x86_64*) _CMAKE_SYSTEM_PROCESSOR=x86_64 ;; i686*) _CMAKE_SYSTEM_PROCESSOR=x86 ;; diff --git a/common/build-style/gnu-makefile.sh b/common/build-style/gnu-makefile.sh @@ -7,7 +7,7 @@ do_build() { if [ -z "$make_use_env" ]; then ${make_cmd} \ CC="$CC" CXX="$CXX" LD="$LD" AR="$AR" RANLIB="$RANLIB" \ - CPP="$CPP" AS="$AS" OBJDUMP="$OBJDUMP" \ + CPP="$CPP" AS="$AS" OBJCOPY="$OBJCOPY" OBJDUMP="$OBJDUMP" \ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ ${makejobs} ${make_build_args} ${make_build_target} else diff --git a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh @@ -38,7 +38,7 @@ process_metadata_scripts() { # # Note that paths must be relative to CWD, to avoid calling # host commands if /bin/sh (dash) is not installed and it's -# not possible to chroot(3). +# not possible to chroot(2). # export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" diff --git a/common/shlibs b/common/shlibs @@ -60,7 +60,7 @@ libgcc_s.so.1 libgcc-4.4.0_1 libgo.so.14 libgo-9.1.0_1 libmpx.so.2 libmpx-6.2.1_1 libmpxwrappers.so.2 libmpx-6.2.1_1 -libperl.so.5.30 perl-5.30.0_1 +libperl.so.5.32 perl-5.32.0_1 libgmp.so.10 gmp-5.0.1_1 libgmpxx.so.4 gmpxx-6.0.0_2 libmpfr.so.6 mpfr-4.0.0_1 @@ -202,6 +202,7 @@ libpam.so.0 pam-libs-1.1.6_3 libpamc.so.0 pam-libs-1.1.6_3 libpam_misc.so.0 pam-libs-1.1.6_3 libcap.so.2 libcap-2.16_1 +libpsx.so.2 libcap-2.45_1 liblzma.so.5 liblzma-5.0.0_1 libuuid.so.1 libuuid-2.18_1 libblkid.so.1 libblkid-2.18_1 @@ -343,8 +344,8 @@ liblcms.so.1 lcms-1.18_1 libgd.so.3 gd-2.1.0_1 libcroco-0.6.so.3 libcroco-0.6.2_1 libgsf-1.so.114 libgsf-1.14.11_1 -libMagickCore-7.Q16HDRI.so.7 libmagick-7.0.9.1_1 -libMagickWand-7.Q16HDRI.so.7 libmagick-7.0.9.1_1 +libMagickCore-7.Q16HDRI.so.8 libmagick-7.0.10.37_1 +libMagickWand-7.Q16HDRI.so.8 libmagick-7.0.10.37_1 libMagick++-7.Q16HDRI.so.4 libmagick-7.0.9.1_1 libMagickCore-6.Q16.so.6 libmagick6-6.9.10.11_1 libMagickWand-6.Q16.so.6 libmagick6-6.9.10.11_1 @@ -554,8 +555,8 @@ libicudata.so.67 icu-libs-67.1_1 libicutu.so.67 icu-libs-67.1_1 libicuuc.so.67 icu-libs-67.1_1 libicutest.so.67 icu-libs-67.1_1 -libaspell.so.15 aspell-0.60_1 -libpspell.so.15 aspell-0.60_1 +libaspell.so.15 libaspell-0.60.8_2 +libpspell.so.15 libaspell-0.60.8_2 libenchant.so.1 enchant-1.4.2_1 libenchant-2.so.2 enchant2-2.2.3_1 libgconf-2.so.4 GConf-2.32.0_1 @@ -827,7 +828,6 @@ libpeas-gtk-1.0.so.0 libpeas-1.0.0_2 libtotem.so.0 libtotem-3.6.2_1 libclutter-1.0.so.0 clutter-1.14.0_1 libavfs.so.0 libavfs-1.0.5_1 -libdmr.so.0.1 deepin-movie-reborn-3.2.5_1 libgjs.so.0 gjs-1.65.2_1 libtelepathy-glib.so.0 telepathy-glib-0.15.5_1 libaccountsservice.so.0 accountsservice-0.6.4_1 @@ -1057,8 +1057,8 @@ libisc.so.1606 bind-libs-9.16.6_1 libisccc.so.1600 bind-libs-9.16.2_1 libisccfg.so.1601 bind-libs-9.16.7_1 libns.so.1604 bind-libs-9.16.5_1 -libplist.so.3 libplist-1.12_1 -libplist++.so.3 libplist++-1.12_1 +libplist-2.0.so.3 libplist-2.2.0_1 +libplist++-2.0.so.3 libplist++-2.2.0_1 libnsbmp.so.0 libnsbmp-0.0.3_1 libnsgif.so.0 libnsgif-0.0.3_1 libparserutils.so.0 libparserutils-0.1.1_1 @@ -1202,6 +1202,7 @@ librygel-db-2.6.so.2 librygel-0.28.0_1 libharfbuzz.so.0 libharfbuzz-0.9.4_1 libharfbuzz-icu.so.0 libharfbuzz-0.9.19_1 libharfbuzz-subset.so.0 libharfbuzz-1.7.6_1 +libharfbuzz-gobject.so.0 libharfbuzz-2.7.2_2 libosinfo-1.0.so.0 libosinfo-0.2.0_1 libspice-client-gtk-3.0.so.5 spice-gtk-0.33_1 libspice-client-glib-2.0.so.8 spice-gtk-0.14_1 @@ -1273,7 +1274,7 @@ libdtovl.so rpi-userland-20180103_1 libwiringPi.so libwiringPi-0.0.20200408_1 libwiringPiDev.so libwiringPi-0.0.20200408_1 liblockdev.so.1 lockdev-1.0.3_1 -libcec.so.4 libcec-4.0.2_1 +libcec.so.6 libcec-6.0.2_1 librump.so.0 netbsd-rumpkernel-20140526_3 librumpvfs.so.0 netbsd-rumpkernel-20140526_3 librumpdev_disk.so.0 netbsd-rumpkernel-20140526_3 @@ -2033,13 +2034,13 @@ libsysstat-qt5.so.0 libsysstat-0.3.2_1 libpolkit-qt5-agent-1.so.1 polkit-qt5-0.112.0_1 libpolkit-qt5-gui-1.so.1 polkit-qt5-0.112.0_1 libpolkit-qt5-core-1.so.1 polkit-qt5-0.112.0_1 -libfm-qt.so.7 libfm-qt-0.15.0_1 +libfm-qt.so.8 libfm-qt-0.16.0_1 libqtermwidget5.so.0 qtermwidget-0.6.0_1 libnpth.so.0 npth-1.1_1 libnpupnp.so.4 libnpupnp-4.0.2_1 libglfw.so.3 glfw-3.0.4_1 -libusbmuxd.so.6 libusbmuxd-1.0.10_1 -libimobiledevice.so.6 libimobiledevice-1.2.0_1 +libusbmuxd-2.0.so.6 libusbmuxd-2.0.2_1 +libimobiledevice-1.0.so.6 libimobiledevice-1.3.0_1 libstfl.so.0 stfl-0.23_1 libCDApplet.so cairo-dock-plugins-3.4.0_1 libldns.so.3 libldns-1.7.1_1 @@ -2352,7 +2353,7 @@ libp8-platform.so.2 p8-platform-2.1.0.1_1 libOIS.so.1.5.0 ois-1.5_1 libSILLY.so.1 silly-0.1.0_1 libkeybinder-3.0.so.0 libkeybinder3-0.3.0_1 -libbrlapi.so.0.7 brltty-6.0_1 +libbrlapi.so.0.8 brltty-6.1_1 liblouis.so.20 liblouis-3.11.0_1 libCEGUIBase-0.7.9.so cegui07-0.7.9_1 libCEGUIFalagardWRBase-0.7.9.so cegui07-0.7.9_1 @@ -2507,7 +2508,6 @@ libxerces-c-3.2.so libxerces-c-3.2.0_1 libunibreak.so.3 libunibreak-4.0_1 libgconfmm-2.6.so.1 gconfmm-2.28.3_1 libiperf.so.0 iperf3-3.1.1_1 -libkqueue.so.0 libkqueue-2.0.3_1 libKF5UnitConversion.so.5 kunitconversion-5.26.0_1 libfdk-aac.so.2 fdk-aac-2.0.0_1 libyubikey.so.0 libyubikey-1.13_1 @@ -2547,7 +2547,7 @@ libmunge.so.2 munge-libs-0.5.11_1 libmgba.so.0.8 libmgba-0.8.1_1 libglabels-3.0.so.8 libglabels30-3.2.1_1 libglbarcode-3.0.so.0 libglabels30-3.2.1_1 -libjim.so.0.79 jimtcl-0.79_1 +libjim.so.0.80 jimtcl-0.80_1 libftdi1.so.2 libftdi1-1.2_1 libax25.so.0 libax25-0.0.12rc4_1 libax25io.so.0 libax25-0.0.12rc4_1 @@ -2938,14 +2938,14 @@ liblog4cplus-2.0.so.3 log4cplus-2.0.0_1 liblog4cplusU-2.0.so.3 log4cplus-2.0.3_1 libpng12.so.0 libpng12-1.2.56_2 libpng.so.3 libpng12-1.2.56_2 -libcapnpc-0.7.0.so capnproto-0.7.0_1 -libcapnp-json-0.7.0.so capnproto-0.7.0_1 -libcapnp-rpc-0.7.0.so capnproto-0.7.0_1 -libcapnp-0.7.0.so capnproto-0.7.0_1 -libkj-http-0.7.0.so capnproto-0.7.0_1 -libkj-async-0.7.0.so capnproto-0.7.0_1 -libkj-test-0.7.0.so capnproto-0.7.0_1 -libkj-0.7.0.so capnproto-0.7.0_1 +libcapnpc-0.8.0.so capnproto-0.8.0_1 +libcapnp-json-0.8.0.so capnproto-0.8.0_1 +libcapnp-rpc-0.8.0.so capnproto-0.8.0_1 +libcapnp-0.8.0.so capnproto-0.8.0_1 +libkj-http-0.8.0.so capnproto-0.8.0_1 +libkj-async-0.8.0.so capnproto-0.8.0_1 +libkj-test-0.8.0.so capnproto-0.8.0_1 +libkj-0.8.0.so capnproto-0.8.0_1 libkea-asiodns.so.1 libkea-1.7.0_1 libkea-asiolink.so.19 libkea-1.9.0_1 libkea-cc.so.8 libkea-1.6.0_1 @@ -2953,19 +2953,19 @@ libkea-cfgclient.so.10 libkea-1.8.0_1 libkea-cryptolink.so.5 libkea-1.7.0_1 libkea-database.so.6 libkea-1.8.0_1 libkea-dhcp++.so.30 libkea-1.9.0_1 -libkea-dhcp_ddns.so.3 libkea-1.8.0_1 -libkea-dhcpsrv.so.38 libkea-1.9.0_1 +libkea-dhcp_ddns.so.14 libkea-1.9.1_1 +libkea-dhcpsrv.so.39 libkea-1.9.1_1 libkea-dns++.so.5 libkea-1.8.0_1 libkea-eval.so.22 libkea-1.9.0_1 libkea-exceptions.so.0 libkea-1.1.0_1 -libkea-hooks.so.26 libkea-1.9.0_1 -libkea-http.so.18 libkea-1.9.0_1 +libkea-hooks.so.27 libkea-1.9.1_1 +libkea-http.so.20 libkea-1.9.1_1 libkea-log.so.6 libkea-1.7.9_1 -libkea-pgsql.so.4 libkea-1.8.0_1 -libkea-process.so.11 libkea-1.8.0_1 +libkea-pgsql.so.15 libkea-1.9.1_1 +libkea-process.so.22 libkea-1.9.1_1 libkea-stats.so.16 libkea-1.9.0_1 libkea-util-io.so.0 libkea-1.1.0_1 -libkea-util.so.26 libkea-1.9.0_1 +libkea-util.so.28 libkea-1.9.1_1 libytnef.so.0 ytnef-1.8_1 libpisock.so.9 pilot-link-0.12.5_1 libpisync.so.1 pilot-link-0.12.5_1 @@ -3124,9 +3124,9 @@ libm17n-flt.so.0 m17n-lib-1.7.0_1 libm17n-gui.so.0 m17n-lib-1.7.0_1 libm17n-core.so.0 m17n-lib-1.7.0_1 libm17n.so.0 m17n-lib-1.7.0_1 -libprotobuf-lite.so.24 libprotobuf24-lite-3.13.0_1 -libprotoc.so.24 libprotoc24-3.13.0_1 -libprotobuf.so.24 libprotobuf24-3.13.0_1 +libprotobuf-lite.so.25 libprotobuf25-lite-3.14.0_1 +libprotoc.so.25 libprotoc25-3.14.0_1 +libprotobuf.so.25 libprotobuf25-3.14.0_1 libsombok.so.3 sombok-2.4.0_1 libdeviceclient.so.0 pragha-1.3.3_1 libguile-srfi-srfi-1-v-3.so.3 guile1.8-1.8.8_1 @@ -3484,15 +3484,10 @@ libkid3-core.so.3.8.3 kid3-3.8.3_1 libkid3-gui.so.3.8.3 kid3-3.8.3_1 libcfitsio.so.9 cfitsio-3.480_1 libapparmor.so.1 libapparmor-2.12.0_1 -libgsettings-qt.so.1 gsettings-qt-0.1+17.10.20170824_1 libplacebo.so.72 libplacebo-2.72.0_1 libw2xc.so waifu2x-converter-cpp-5.2_1 libnova-0.15.so.0 libnova-0.15.0_1 -libdtkcore.so.2 dtkcore-2.0.6_1 -libdframeworkdbus.so.2 dde-qt-dbus-factory-1.0.1_1 -libdtkwidget.so.2 dtkwidget-2.0.6.1_1 libcue.so.2 libcue-2.2.0_1 -libdtkwm.so.2 dtkwm-2.0.6_1 libticonv.so.8 libticonv-1.1.5_1 libtifiles2.so.10 libtifiles2-1.1.7_1 libticables2.so.7 libticables2-1.3.5_1 @@ -3647,7 +3642,7 @@ libgaminggearwidget.so.0 libgaminggear-0.15.1_1 libopkg.so.1 libopkg-0.4.0_1 libkodiplatform.so.18.0 kodi-platform-17.1.0_1 libQMatrixClient.so.0.5.3 libqmatrixclient-0.5.3.2_1 -libipset.so.13 libipset-7.1_1 +libipset.so.12 libipset-7.7_1 libmp3splt.so.0 libmp3splt-0.9.2_1 libliquid.so.1 liquid-dsp-1.3.1_1 libsnore-qt5.so.0.7 snorenotify-0.7.0_1 @@ -3749,7 +3744,7 @@ libgambit.so.4 gambit-4.9.3_1 liblog4cpp.so.5 log4cpp-1.1.3_1 libnuspell.so.3 libnuspell-3.0.0_1 liblog4c.so.3 log4c-1.2.4_1 -libqb.so.0 libqb-1.0.5_1 +libqb.so.100 libqb-2.0.0_1 libusbguard.so.0 usbguard-0.7.5_1 libknet.so.1 libknet1-1.11_1 libdrumstick-file.so.1 drumstick-1.1.2_1 @@ -3993,3 +3988,5 @@ libSeExpr2Editor.so.3 seexpr-krita-3.4.4.0_1 libSeExpr2.so.3 seexpr-krita-3.4.4.0_1 liburing.so.1 liburing-0.7_1 libbson-1.0.so.0 libbson-1.17.0_1 +libsonic.so.0 libsonic-0.2.0_1 +libtickit.so.3 libtickit-0.4.1_1 diff --git a/ezup/pkg-list.txt b/ezup/pkg-list.txt @@ -2,6 +2,7 @@ # grep -r '^tags="ezup' srcpkgs/ | grep '/template:' | cut -d':' -f1 | cut -d'/' -f2 | sort # xbps-query -p tags -Rs ezup | cut -d: -f1 | xargs -L1 xbps-uhelper getpkgname | sort +# cat ezup/upstream.txt | xargs -L1 git checkout github-voidlinux/master -- # Tags: #git #fetch #binary #security #nocross #nonfree @@ -19,6 +20,7 @@ 2bwm ScreenRotator #git + ansifilter bash-insulter #fetch bpm-tools cwwav @@ -42,6 +44,7 @@ trojan wshowkeys #git #nocross wterm #git + xrdp ydotool zsh-insulter #fetch zsh-theme-powerlevel10k #nocross #binary_gitstatusd diff --git a/ezup/upstream.txt b/ezup/upstream.txt @@ -0,0 +1,11 @@ +CONTRIBUTING.md +COPYING +Manual.md +common/ +etc/ +srcpkgs/base-files/ +srcpkgs/cross-aarch64-linux-musl +srcpkgs/cross-aarch64-linux-musl-libc +srcpkgs/gcc +srcpkgs/xbps-triggers +xbps-src diff --git a/srcpkgs/ansifilter/template b/srcpkgs/ansifilter/template @@ -0,0 +1,12 @@ +# Template file for 'ansifilter' +pkgname=ansifilter +version=2.17 +revision=1 +build_style=gnu-makefile +short_desc="ANSI Escape Code Processor and Converter" +maintainer="Dash Eclipse <dash@ezup.dev>" +license="GPL-3.0-or-later" +homepage="http://www.andre-simon.de/doku/${pkgname}/en/${pkgname}.php" +distfiles="http://www.andre-simon.de/zip/${pkgname}-${version}.tar.bz2" +checksum="5985beb39c960a3cb5b0e70d6a121687043dc8458e5783777ff250303cccc42f" +tags="ezup" diff --git a/srcpkgs/base-files/files/vkpurge b/srcpkgs/base-files/files/vkpurge @@ -26,23 +26,25 @@ list_kernels() { case "$installed" in *"$k"*) continue ;; esac - kver=${k##*-} + kver=${k#*-} case "$kver" in "$running") ;; "*") ;; # /boot isn't mounted -> no vmlinu[xz] $pattern) printf "%s\n" "$kver" ;; esac done - done | sort -u + done | sort -uV } run_hooks() { dir="$1" kver="$2" + for d in /etc/kernel.d/"${dir}"/*; do [ -x "$d" ] || continue printf "Running %s kernel hook: %s...\n" "$dir" "${d##*/}" - "$d" kernel "$kver" + # Hooks assume they run from the root + (cd / && ROOTDIR=. "$d" kernel "$kver") done } diff --git a/srcpkgs/base-files/template b/srcpkgs/base-files/template @@ -1,7 +1,7 @@ # Template file for 'base-files' pkgname=base-files version=0.141 -revision=1 +revision=4 bootstrap=yes depends="xbps-triggers" short_desc="Void Linux base system files" diff --git a/srcpkgs/cross-aarch64-linux-musl/files/use-pure-64bit-configs.patch b/srcpkgs/cross-aarch64-linux-musl/files/use-pure-64bit-configs.patch @@ -0,0 +1 @@ +../../gcc/patches/use-pure-64bit-configs.patch+ \ No newline at end of file diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template @@ -12,7 +12,7 @@ _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} version=0.33 -revision=2 +revision=3 short_desc="Cross toolchain for ARM64 LE target (musl)" maintainer="Orphaned <orphan@voidlinux.org>" homepage="https://www.voidlinux.org/" @@ -91,6 +91,7 @@ _gcc_bootstrap() { cd ${wrksrc}/gcc-${_gcc_version} _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch + _apply_patch -p0 ${FILESDIR}/use-pure-64bit-configs.patch _apply_patch -p0 ${FILESDIR}/musl-ada.patch _apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch _apply_patch -p1 ${FILESDIR}/libssp-musl.patch @@ -284,8 +285,7 @@ do_install() { make DESTDIR=${DESTDIR}/${_sysroot} install # Remove useless headers. - rm -rf ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include-fixed/ \ - ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include/stddef.h + rm -rf ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include-fixed # Make ld-musl.so symlinks relative. ln -sf libc.so ${DESTDIR}/${_sysroot}/usr/lib/ld-musl-aarch64.so.1 diff --git a/srcpkgs/gcc/patches/fix-vtv-link-order.patch b/srcpkgs/gcc/patches/fix-vtv-link-order.patch @@ -0,0 +1,20 @@ +put vtv_end.o in front of postdep_objects_CXX +having it after crtendS.o leads to missing zero termination in eh_frame section + +This is in line with comment in libgcc/vtv_end.c: + + When the GCC driver inserts vtv_start.o into the link line (just + after crtbegin.o) it also inserts vtv_end.o into the link line, + just before crtend.o. + +--- libstdc++-v3/configure ++++ libstdc++-v3/configure +@@ -15443,7 +15443,7 @@ + + if test "$enable_vtable_verify" = yes; then + predep_objects_CXX="${predep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_start.o" +- postdep_objects_CXX="${postdep_objects_CXX} ${glibcxx_builddir}/../libgcc/vtv_end.o" ++ postdep_objects_CXX="${glibcxx_builddir}/../libgcc/vtv_end.o ${postdep_objects_CXX}" + fi + + diff --git a/srcpkgs/gcc/patches/use-pure-64bit-configs.patch b/srcpkgs/gcc/patches/use-pure-64bit-configs.patch @@ -0,0 +1,213 @@ +From e0453ba5a738647f84a6dac9d8551fe8dbfdbece Mon Sep 17 00:00:00 2001 +From: Daniel Kolesa <daniel@octaforge.org> +Date: Sun, 8 Nov 2020 03:58:09 +0100 +Subject: [PATCH] use pure 64-bit config + +avoid using lib64 dirs + +when adding a new platform, expand this patch +--- + gcc/config/aarch64/t-aarch64-linux | 2 +- + gcc/config/i386/linux64.h | 2 +- + gcc/config/i386/t-linux64 | 4 ++-- + gcc/config/mips/linux.h | 4 ++-- + gcc/config/mips/mips.h | 8 ++++---- + gcc/config/mips/t-linux64 | 6 +++--- + gcc/config/rs6000/linux64.h | 8 ++++---- + gcc/config/rs6000/t-linux | 6 ++++-- + gcc/config/rs6000/t-linux64 | 4 ++-- + gcc/config/rs6000/t-linux64bele | 4 ++-- + gcc/config/rs6000/t-linux64lebe | 4 ++-- + gcc/config/s390/t-linux64 | 4 ++-- + 12 files changed, 29 insertions(+), 27 deletions(-) + +diff --git gcc/config/aarch64/t-aarch64-linux gcc/config/aarch64/t-aarch64-linux +index 5ad670ba2..e10d58a6c 100644 +--- gcc/config/aarch64/t-aarch64-linux ++++ gcc/config/aarch64/t-aarch64-linux +@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm + LIB1ASMFUNCS = _aarch64_sync_cache_range + + AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be) +-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) ++MULTILIB_OSDIRNAMES = mabi.lp64=../lib + MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) + + MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) +diff --git gcc/config/i386/linux64.h gcc/config/i386/linux64.h +index c08221c42..6f18c0214 100644 +--- gcc/config/i386/linux64.h ++++ gcc/config/i386/linux64.h +@@ -28,7 +28,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" + + #undef MUSL_DYNAMIC_LINKER32 +diff --git gcc/config/i386/t-linux64 gcc/config/i386/t-linux64 +index c686ab2f0..89c183019 100644 +--- gcc/config/i386/t-linux64 ++++ gcc/config/i386/t-linux64 +@@ -33,6 +33,6 @@ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) + MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) +-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES = m64=../lib ++MULTILIB_OSDIRNAMES+= m32=../lib32 + MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) +diff --git gcc/config/mips/linux.h gcc/config/mips/linux.h +index 6f79ac9c0..bddfacd84 100644 +--- gcc/config/mips/linux.h ++++ gcc/config/mips/linux.h +@@ -24,9 +24,9 @@ along with GCC; see the file COPYING3. If not see + #define GLIBC_DYNAMIC_LINKER32 \ + "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" + #define GLIBC_DYNAMIC_LINKER64 \ +- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}" ++ "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" + #define GLIBC_DYNAMIC_LINKERN32 \ +- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}" ++ "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}" + + #undef UCLIBC_DYNAMIC_LINKER32 + #define UCLIBC_DYNAMIC_LINKER32 \ +diff --git gcc/config/mips/mips.h gcc/config/mips/mips.h +index 953d82e85..3f09f21bc 100644 +--- gcc/config/mips/mips.h ++++ gcc/config/mips/mips.h +@@ -3447,11 +3447,11 @@ struct GTY(()) machine_function { + /* If we are *not* using multilibs and the default ABI is not ABI_32 we + need to change these from /lib and /usr/lib. */ + #if MIPS_ABI_DEFAULT == ABI_N32 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/" +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/" ++#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" + #elif MIPS_ABI_DEFAULT == ABI_64 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/" +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/" ++#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" + #endif + + /* Load store bonding is not supported by micromips and fix_24k. The +diff --git gcc/config/mips/t-linux64 gcc/config/mips/t-linux64 +index 3a2ff700d..3b253aeb9 100644 +--- gcc/config/mips/t-linux64 ++++ gcc/config/mips/t-linux64 +@@ -21,6 +21,6 @@ MULTILIB_DIRNAMES = n32 32 64 + MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) + MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) + MULTILIB_OSDIRNAMES = \ +- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ +- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) ++ ../lib \ ++ ../lib32 \ ++ ../lib +diff --git gcc/config/rs6000/linux64.h gcc/config/rs6000/linux64.h +index 9946d3fed..fcdf0d265 100644 +--- gcc/config/rs6000/linux64.h ++++ gcc/config/rs6000/linux64.h +@@ -427,12 +427,12 @@ extern int dot_symbols; + + #ifdef LINUX64_DEFAULT_ABI_ELFv2 + #define GLIBC_DYNAMIC_LINKER64 \ +-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \ +-":%(dynamic_linker_prefix)/lib64/ld64.so.2}" ++"%{mabi=elfv1:%(dynamic_linker_prefix)/lib/ld64.so.1;" \ ++":%(dynamic_linker_prefix)/lib/ld64.so.2}" + #else + #define GLIBC_DYNAMIC_LINKER64 \ +-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \ +-":%(dynamic_linker_prefix)/lib64/ld64.so.1}" ++"%{mabi=elfv2:%(dynamic_linker_prefix)/lib/ld64.so.2;" \ ++":%(dynamic_linker_prefix)/lib/ld64.so.1}" + #endif + + #undef MUSL_DYNAMIC_LINKER32 +diff --git gcc/config/rs6000/t-linux gcc/config/rs6000/t-linux +index aeb7440c4..ab14c455d 100644 +--- gcc/config/rs6000/t-linux ++++ gcc/config/rs6000/t-linux +@@ -2,7 +2,8 @@ + # or soft-float. + ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float))) + ifneq (,$(findstring powerpc64,$(target))) +-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu) ++MULTILIB_OSDIRNAMES := m64=../lib ++MULTILIB_OSDIRNAMES += m32=../lib32 + else + MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu) + endif +@@ -10,7 +11,8 @@ ifneq (,$(findstring powerpcle,$(target))) + MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME)) + endif + ifneq (,$(findstring powerpc64le,$(target))) +-MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES)) ++MULTILIB_OSDIRNAMES := m64=../lib ++MULTILIB_OSDIRNAMES += m32=../lib32 + endif + endif + +diff --git gcc/config/rs6000/t-linux64 gcc/config/rs6000/t-linux64 +index f3c6e2be1..f4df2377d 100644 +--- gcc/config/rs6000/t-linux64 ++++ gcc/config/rs6000/t-linux64 +@@ -28,8 +28,8 @@ + MULTILIB_OPTIONS := m64/m32 + MULTILIB_DIRNAMES := 64 32 + MULTILIB_EXTRA_OPTS := +-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu) +-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) ++MULTILIB_OSDIRNAMES := m64=../lib ++MULTILIB_OSDIRNAMES += m32=../lib32 + + rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c + $(COMPILE) $< +diff --git gcc/config/rs6000/t-linux64bele gcc/config/rs6000/t-linux64bele +index 97c1ee6fb..08d72639c 100644 +--- gcc/config/rs6000/t-linux64bele ++++ gcc/config/rs6000/t-linux64bele +@@ -2,6 +2,6 @@ + + MULTILIB_OPTIONS += mlittle + MULTILIB_DIRNAMES += le +-MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES)))))) +-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES))) ++MULTILIB_OSDIRNAMES = m64=../lib ++MULTILIB_OSDIRNAMES+= m32=../lib32 + MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN} +diff --git gcc/config/rs6000/t-linux64lebe gcc/config/rs6000/t-linux64lebe +index 2e63bdb9f..c6e1c5db6 100644 +--- gcc/config/rs6000/t-linux64lebe ++++ gcc/config/rs6000/t-linux64lebe +@@ -2,6 +2,6 @@ + + MULTILIB_OPTIONS += mbig + MULTILIB_DIRNAMES += be +-MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES)))))) +-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES))) ++MULTILIB_OSDIRNAMES := m64=../lib ++MULTILIB_OSDIRNAMES += m32=../lib32 + MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN} +diff --git gcc/config/s390/t-linux64 gcc/config/s390/t-linux64 +index cc6ab3670..7f498ee1c 100644 +--- gcc/config/s390/t-linux64 ++++ gcc/config/s390/t-linux64 +@@ -7,5 +7,5 @@ + + MULTILIB_OPTIONS = m64/m31 + MULTILIB_DIRNAMES = 64 32 +-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu) ++MULTILIB_OSDIRNAMES = m64=../lib ++MULTILIB_OSDIRNAMES+= m32=../lib32 +-- +2.29.2 + diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template @@ -8,7 +8,7 @@ _isl_version=0.21 pkgname=gcc version=${_minorver}.0 -revision=6 +revision=7 short_desc="GNU Compiler Collection" maintainer="Enno Boland <gottox@voidlinux.org>" homepage="http://gcc.gnu.org" @@ -191,37 +191,21 @@ do_configure() { armv5*) _args+=" --with-arch=armv5te --with-float=soft";; armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";; armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";; - aarch64*) # use lib not lib64 by default - _args+=" --with-arch=armv8-a" - sed -i '/m64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux - ;; - ppc) _args+=" --target=powerpc-linux-gnu --enable-secureplt";; - ppc-musl) _args+=" --target=powerpc-linux-musl --enable-secureplt --disable-decimal-float";; - ppcle) _args+=" --target=powerpcle-linux-gnu --enable-secureplt";; - ppcle-musl) _args+=" --target=powerpcle-linux-musl --enable-secureplt --disable-decimal-float";; - ppc64le*) # use lib not lib64 by default - _args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux" - sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h - ;; - ppc64*) # use lib not lib64 by default - _args+=" --target=${_triplet} --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux" - sed -i 's/lib64/lib/' gcc/config/rs6000/linux64.h - ;; - x86_64*) # use lib not lib64 by default - sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 - sed -i 's/lib64/lib/' gcc/config/i386/linux64.h - ;; + aarch64*) _args+=" --with-arch=armv8-a";; + ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";; + ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";; + ppc*) _args+=" --enable-secureplt";; + esac + + # on ppc64le-musl and all big endian ppc64 + case "$XBPS_TARGET_MACHINE" in + ppc64le) ;; + ppc64*) _args+=" --disable-libquadmath" ;; esac # fix: unknown long double size, cannot define BFP_FMT case "$XBPS_TARGET_MACHINE" in - ppc64le-musl|ppc64-musl) - _args+=" --enable-decimal-float=no --disable-libquadmath" - ;; - ppc64) - _args+=" --disable-libquadmath" - ;; - *) ;; + ppc*-musl) _args+=" --disable-decimal-float";; esac if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then diff --git a/srcpkgs/xbps-triggers/files/dkms b/srcpkgs/xbps-triggers/files/dkms @@ -70,9 +70,9 @@ add_modules() { echo "Skipping kernel-${_kver}. kernel-headers package not installed..." continue fi - if [ ! -f ${f}/build/scripts/basic/fixdep ] ; then - echo -n "Building scripts for kernel-${_kver}... " - yes "" | make -j$(nproc) -C ${f}/build scripts > ${f}/build/make.log 2>&1 + if [ ! -f ${f}/build/scripts/basic/fixdep ] || [ ! -f ${f}/build/scripts/mod/modpost ] ; then + echo -n "Prepare to build modules for kernel-${_kver}... " + yes "" | make -j$(nproc) -C ${f}/build prepare0 > ${f}/build/make.log 2>&1 if [ $? -eq 0 ]; then echo "done." else diff --git a/srcpkgs/xbps-triggers/files/system-accounts b/srcpkgs/xbps-triggers/files/system-accounts @@ -16,29 +16,45 @@ UPDATE="$5" export PATH="usr/sbin:usr/bin:/usr/sbin:/usr/bin:/sbin:/bin" +# Determine whether useradd/groupadd/usermod need a prefix argument +if [ "$(readlink -f . 2>/dev/null || echo .)" != "/" ]; then + prefix="-P ." +else + prefix= +fi + +# show_acct_details <username> <description> <homedir> <shell> [groups] +show_acct_details() { + echo " Account: $1" + echo " Description: '$2'" + echo " Homedir: '$3'" + echo " Shell: '$4'" + [ -n "$5" ] && echo " Additional groups: '$5'" +} + group_add() { - local _grname _gid use_gid + local _pretty_grname _grname _gid _prefix + + if ! command -v groupadd >/dev/null 2>&1; then + echo "WARNING: cannot create $1 system group (missing groupadd)" + echo "The following group must be created manually: $1" + return + fi _grname="${1%:*}" - _gid="${1#*:}" + _gid="${1##*:}" - if [ "${_gid}" != "${_grname}" ]; then - use_gid="gid ${_gid}" - fi + [ "${_grname}" = "${_gid}" ] && _gid= - if ! getent group ${_grname} >/dev/null; then - if [ -n "$use_gid" ]; then - groupadd -r ${_grname} -g ${_gid} >/dev/null 2>&1 - else - groupadd -r ${_grname} >/dev/null 2>&1 - fi - if [ $? -eq 0 ]; then - echo "Created ${_grname} ($use_gid) system group." - else - echo "Failed to create ${_grname} ($use_gid) system group!" - exit 1 - fi - fi + _pretty_grname="${_grname}${_gid:+ (gid: ${_gid})}" + + groupadd ${prefix} -r ${_grname} ${_gid:+-g ${_gid}} >/dev/null 2>&1 + + case $? in + 0) echo "Created ${_pretty_grname} system group." ;; + 9) ;; + *) echo "ERROR: failed to create system group ${_pretty_grname}!"; exit 1;; + esac } case "$ACTION" in @@ -46,108 +62,108 @@ targets) echo "post-install pre-remove" ;; run) - if [ -z "$system_accounts" -a -z "$system_groups" ]; then - exit 0 - fi + [ -z "$system_accounts" -a -z "$system_groups" ] && exit 0 - if [ -x sbin/useradd -o -x bin/useradd ]; then - USERADD=1 - fi - if [ -x sbin/usermod -o -x bin/usermod ]; then - USERMOD=1 - fi - if [ -x sbin/groupadd -o -x bin/groupadd ]; then - GROUPADD=1 + if command -v useradd >/dev/null 2>&1; then + USERADD="useradd ${prefix}" fi - if [ -x bin/getent -o -x sbin/getent ]; then - GETENT=1 - fi - if [ -x bin/passwd -o -x sbin/passwd ]; then - PASSWD=1 + + if command -v usermod >/dev/null 2>&1; then + USERMOD="usermod ${prefix}" fi case "$TARGET" in post-install) # System groups required by a package. for grp in ${system_groups}; do - if [ -z "$GROUPADD" -a -z "$GETENT" ]; then - echo "WARNING: cannot create ${grp} system group (missing groupadd/getent)" - echo "The following group must be created manually: $grp" - continue - fi group_add $grp done # System user/group required by a package. for acct in ${system_accounts}; do _uname="${acct%:*}" - _uid="${acct#*:}" + _uid="${acct##*:}" + + [ "${_uname}" = "${_uid}" ] && _uid= eval homedir="\$${_uname}_homedir" eval shell="\$${_uname}_shell" eval descr="\$${_uname}_descr" eval groups="\$${_uname}_groups" eval pgroup="\$${_uname}_pgroup" + [ -z "$homedir" ] && homedir="/var/empty" [ -z "$shell" ] && shell="/sbin/nologin" [ -z "$descr" ] && descr="${_uname} unprivileged user" [ -n "$groups" ] && user_groups="-G $groups" - [ "${_uid}" != "${_uname}" ] && + if [ -n "${_uid}" ]; then use_id="-u ${_uid} -g ${pgroup:-${_uid}}" + _pretty_uname="${_uname} (uid: ${_uid})" + else + use_id="-g ${pgroup:-${_uname}}" + _pretty_uname="${_uname}" + fi - if [ -z "$USERADD" -a -z "$GETENT" -a -z "$PASSWD" ]; then - echo "WARNING: cannot create ${acct} system user/group (missing useradd/getent/passwd)" + if [ -z "$USERADD" -o -z "$USERMOD" ]; then + echo "WARNING: cannot create ${_uname} system account (missing useradd or usermod)" echo "The following system account must be created:" - echo " Account: ${uname:-${_uid}} (uid: '${_uid}')" - echo " Description: '${descr}'" - echo " Homedir: '${homedir}'" - echo " Shell: '${shell}'" - echo " Additional groups: '${groups}'" + show_acct_details "${_pretty_uname}" "${descr}" "${homedir}" "${shell}" "${groups}" continue fi group_add ${pgroup:-${acct}} - if ! getent passwd ${_uname} >/dev/null; then - useradd -c "$descr" -d "$homedir" -s "$shell" ${user_groups} \ - ${pgroup:+-N} ${use_id:=-g ${pgroup:-${_uname}}} -r ${_uname} && \ - passwd -l ${_uname} >/dev/null 2>&1 - if [ $? -eq 0 ]; then - echo "Created ${_uname} (${_uid}) system user." - else - echo "Failed to create ${acct} system user!" - exit 1 - fi - else - if [ -z "$USERMOD" ]; then - echo "WARNING: cannot update ${acct} system user/group (missing usermod)" - continue - fi - usermod -c "${descr}" -d "${homedir}" -s "${shell}" ${user_groups} \ - -g "${pgroup:-${_uname}}" ${_uname} >/dev/null 2>&1 - if [ $? -eq 0 ]; then - echo "Updated ${_uname} (${_uid}) system user." - else - echo "Failed to update ${acct} system user!" + ${USERADD} -c "${descr}" -d "${homedir}" \ + ${use_id} ${pgroup:+-N} -s "${shell}" \ + ${user_groups} -r ${_uname} >/dev/null 2>&1 + + case $? in + 0) + echo "Created ${_pretty_uname} system user." + ${USERMOD} -L ${_uname} >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "WARNING: unable to lock password for ${_uname} system account" + fi + ;; + 9) + ${USERMOD} -c "${descr}" -d "${homedir}" \ + -s "${shell}" -g "${pgroup:-${_uname}}" \ + ${user_groups} ${_uname} >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "Updated ${_uname} system user." + else + echo "WARNING: unable to modify ${_uname} system account" + echo "Please verify that account is compatible with these settings:" + show_acct_details "${_pretty_uname}" \ + "${descr}" "${homedir}" "${shell}" "${groups}" + continue + fi + ;; + *) + echo "ERROR: failed to create system user ${_pretty_uname}!" exit 1 - fi - fi + ;; + esac done ;; pre-remove) if [ "$UPDATE" = "no" ]; then for acct in ${system_accounts}; do _uname="${acct%:*}" - _uid="${acct#*:}" - comment="$(getent passwd "${_uname}" |cut -d: -f5 |head -n1) - for uninstalled package ${PKGNAME}" + + comment="$( (getent passwd "${_uname}" | cut -d: -f5 | head -n1) 2>/dev/null )" + comment="${comment:-unprivileged user} - for uninstalled package ${PKGNAME}" + if [ -z "$USERMOD" ]; then - echo "WARNING: cannot disable ${acct} system user/group (missing usermod)" + echo "WARNING: cannot disable ${_uname} system user (missing usermod)" continue fi - usermod -L -d /var/empty -s /bin/false -c "${comment}" ${_uname} >/dev/null 2>&1 + + ${USERMOD} -L -d /var/empty -s /bin/false \ + -c "${comment}" ${_uname} >/dev/null 2>&1 if [ $? -eq 0 ]; then - echo "Disabled ${_uname} (${_uid}) system user/group." + echo "Disabled ${_uname} system user." fi done fi diff --git a/srcpkgs/xbps-triggers/files/texmf-dist b/srcpkgs/xbps-triggers/files/texmf-dist @@ -16,6 +16,7 @@ UPDATE="$5" texhash=usr/bin/texhash fmtutil=usr/bin/fmtutil-sys +optional_engines="luahbtex,luajithbtex,luajittex,luatex,xetex" case "$ACTION" in targets) @@ -28,7 +29,8 @@ run) fi if [ -x ${fmtutil} ]; then echo "Updating texmf-dist formats..." - ${fmtutil} --all >/dev/null || true + ${fmtutil} --no-error-if-no-engine="${optional_engines}" \ + --quiet --all >/dev/null || true fi ;; *) diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template @@ -1,8 +1,7 @@ # Template file for 'xbps-triggers' pkgname=xbps-triggers -version=0.115 +version=0.118 revision=1 -archs=noarch bootstrap=yes short_desc="XBPS triggers for Void Linux" maintainer="Enno Boland <gottox@voidlinux.org>" @@ -14,7 +13,7 @@ do_install() { for f in ${FILESDIR}/*; do _trigger=$(basename $f) - vinstall ${FILESDIR}/${_trigger} 750 ${_triggersdir} + vinstall ${FILESDIR}/${_trigger} 754 ${_triggersdir} echo "# end" >> ${DESTDIR}/${_triggersdir}/${_trigger} done vmkdir var/db/xbps diff --git a/xbps-src b/xbps-src @@ -217,7 +217,8 @@ $(print_cross_targets) -t Create a temporary masterdir to not pollute the current one. Note that the existing masterdir must be fully populated with binary-bootstrap first. Once the target has finished, this temporary masterdir will be removed. - This flag requires xbps-uchroot(1). + This flag requires xbps-uchroot(1), and won't work on filesystems that don't + support overlayfs. -V Print version of xbps, then exit. @@ -484,15 +485,6 @@ if [ -z "$IN_CHROOT" ]; then export XBPS_HOSTDIR="$(readlink -f $XBPS_HOSTDIR 2>/dev/null)" fi -# If pkg options were set in config(s), merge them with command line -if [ -n "$XBPS_ARG_PKG_OPTIONS" ]; then - if [ -n "$XBPS_PKG_OPTIONS" ]; then - export XBPS_PKG_OPTIONS+=",$XBPS_ARG_PKG_OPTIONS" - else - export XBPS_PKG_OPTIONS="$XBPS_ARG_PKG_OPTIONS" - fi -fi - # Forbid root unless XBPS_ALLOW_CHROOT_BREAKOUT is set # (for travis CI). if [ -z "$IN_CHROOT" -a "$UID" -eq 0 -a -z "$XBPS_ALLOW_CHROOT_BREAKOUT" ]; then @@ -613,8 +605,8 @@ if [ "$IN_CHROOT" ]; then readonly XBPS_BUILDDIR=/builddir else readonly XBPS_UHELPER_CMD="xbps-uhelper -r $XBPS_MASTERDIR" - readonly XBPS_INSTALL_CMD="xbps-install -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR" - readonly XBPS_QUERY_CMD="xbps-query -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR" + readonly XBPS_INSTALL_CMD="xbps-install -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR -C etc/xbps.d" + readonly XBPS_QUERY_CMD="xbps-query -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR -C etc/xbps.d" readonly XBPS_RECONFIGURE_CMD="xbps-reconfigure -r $XBPS_MASTERDIR" readonly XBPS_REMOVE_CMD="xbps-remove -r $XBPS_MASTERDIR" readonly XBPS_CHECKVERS_CMD="xbps-checkvers -r $XBPS_MASTERDIR" @@ -635,7 +627,7 @@ export XBPS_SHUTILSDIR XBPS_CROSSPFDIR XBPS_TRIGGERSDIR \ XBPS_CPPFLAGS XBPS_CFLAGS XBPS_CXXFLAGS XBPS_FFLAGS XBPS_LDFLAGS \ XBPS_MAKEJOBS XBPS_BUILD_FORCEMODE XBPS_USE_GIT_REVS XBPS_DEBUG_PKGS \ XBPS_CHECK_PKGS XBPS_CCACHE XBPS_DISTCC XBPS_DISTCC_HOSTS XBPS_SKIP_DEPS \ - XBPS_SKIP_REMOTEREPOS XBPS_CROSS_BUILD XBPS_PKG_OPTIONS XBPS_CONFIG_FILE \ + XBPS_SKIP_REMOTEREPOS XBPS_CROSS_BUILD XBPS_ARG_PKG_OPTIONS XBPS_CONFIG_FILE \ XBPS_KEEP_ALL XBPS_HOSTDIR XBPS_MASTERDIR XBPS_SRC_VERSION \ XBPS_DESTDIR XBPS_MACHINE XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \ XBPS_LIBEXECDIR XBPS_DISTDIR XBPS_DISTFILES_MIRROR XBPS_ALLOW_RESTRICTED \ @@ -761,7 +753,7 @@ case "$XBPS_TARGET" in if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then chroot_handler $XBPS_TARGET $XBPS_TARGET_PKG || exit $? else - remove_pkg_wrksrc $wrksrc + remove_pkg_wrksrc remove_pkg_statedir if declare -f do_clean >/dev/null; then run_func do_clean