Merge upstream changes from void-packages

This commit is contained in:
KF-Art 2023-06-01 11:44:58 -04:00
parent 47e890b4b6
commit 0003842ccf
64 changed files with 1041 additions and 718 deletions

View file

@ -56,7 +56,7 @@ This automatically sets up the `upstream` remote, so `git pull --rebase upstream
Using the GitHub web editor for making changes is strongly discouraged, because you will need to clone the repo anyways to edit and test your changes.
using the the `master` branch of your fork for contributing is also strongly discouraged.
Using the `master` branch of your fork for contributing is also strongly discouraged.
It can cause many issues with updating your pull request (also called a PR), and having multiple PRs open at once.
To create a new branch:

View file

@ -1,5 +1,5 @@
Copyright (c) 2008-2020 Juan Romero Pardines and contributors
Copyright (c) 2017-2022 The Void Linux team and contributors
Copyright (c) 2017-2023 The Void Linux team and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without

View file

@ -304,7 +304,7 @@ The following functions are defined by `xbps-src` and can be used on any templat
`$DESTDIR`. The optional 2nd argument can be used to change the
`file name`. See [license](#var_license) for when to use it.
- *vsv()* `vsv <service>`
- *vsv()* `vsv <service> [<facility>]`
Installs `service` from `${FILESDIR}` to /etc/sv. The service must
be a directory containing at least a run script. Note the `supervise`
@ -312,6 +312,11 @@ The following functions are defined by `xbps-src` and can be used on any templat
is automatically made executable by this function.
For further information on how to create a new service directory see
[The corresponding section the FAQ](http://smarden.org/runit/faq.html#create).
A `log` sub-service will be automatically created if one does not exist in
`${FILESDIR}/$service`, containing `exec vlogger -t $service -p $facility`.
if a second argument is not specified, the `daemon` facility is used.
For more information about `vlogger` and available values for the facility,
see [vlogger(1)](https://man.voidlinux.org/vlogger.1).
- *vsed()* `vsed -i <file> -e <regex>`
@ -417,7 +422,7 @@ Multiple licenses should be separated by commas, Example: `GPL-3.0-or-later, cus
and thus have and require no license should use
`Public Domain`.
Note: `MIT`, `BSD`, `ISC` and custom licenses
Note: `AGPL`, `MIT`, `BSD`, `ISC`, `X11`, and custom licenses
require the license file to be supplied with the binary package.
- `maintainer` A string in the form of `name <user@domain>`. The email for this field
@ -906,8 +911,8 @@ should be passed in via `configure_args`.
- `fetch` For packages that only fetch files and are installed as is via `do_install()`.
- `gnu-configure` For packages that use GNU configure scripts, additional configuration
arguments can be passed in via `configure_args`.
- `gnu-configure` For packages that use GNU autotools-compatible configure scripts,
additional configuration arguments can be passed in via `configure_args`.
- `gnu-makefile` For packages that use GNU make, build arguments can be passed in via
`make_build_args` and install arguments via `make_install_args`. The build

View file

@ -3,7 +3,7 @@
#
# This build-helper is used for packages that make use of
# the GObject introspection middleware layer.
#
#
# Check if the 'gir' build_option is set or if there is no
# 'gir' build_option.
@ -13,12 +13,12 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
# and its wrappers.
hostmakedepends+=" gobject-introspection"
fi
if [ "$CROSS_BUILD" ]; then
# Required for running binaries produced from g-ir-compiler
# via g-ir-scanner-qemuwrapper
hostmakedepends+=" qemu-user-static"
# Required for running the g-ir-scanner-lddwrapper
hostmakedepends+=" prelink-cross"

View file

@ -12,7 +12,7 @@ if [ "$CROSS_BUILD" ]; then
_XBPS_CROSS_RUST_TARGET_ENV="${_XBPS_CROSS_RUST_TARGET_ENV//-/_}"
export CARGO_TARGET_${_XBPS_CROSS_RUST_TARGET_ENV}_LINKER="$CC"
unset _XBPS_CROSS_RUST_TARGET_ENV
# Define equivalent of TOML config in environment
# [build]
# target = ${RUST_TARGET}
@ -25,7 +25,7 @@ if [ "$CROSS_BUILD" ]; then
export HOST_CFLAGS="-O2"
# Crates that use bindgen via build.rs are not cross-aware unless these are set
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"
export BINDGEN_EXTRA_CLANG_ARGS+=" --sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"
else
unset CARGO_BUILD_TARGET
fi
@ -39,7 +39,7 @@ export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext"
export GETTEXT_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
# libssh2-sys
export LIBSSH2_SYS_USE_PKG_CONFIG=1
export LIBSSH2_SYS_USE_PKG_CONFIG=1
# sodium-sys
export SODIUM_LIB_DIR="${XBPS_CROSS_BASE}/usr/include"
@ -51,3 +51,9 @@ export OPENSSL_NO_VENDOR=1
# pcre2-sys, only necessary for musl targets
export PCRE2_SYS_STATIC=0
# zstd-sys
export ZSTD_SYS_USE_PKG_CONFIG=1
# onig-sys
export RUSTONIG_SYSTEM_LIBONIG=1

View file

@ -5,14 +5,14 @@
do_build() {
: ${make_cmd:=cargo auditable}
${make_cmd} build --release --target ${RUST_TARGET} ${configure_args}
${make_cmd} build --release --locked --target ${RUST_TARGET} ${configure_args}
}
do_check() {
: ${make_cmd:=cargo auditable}
${make_check_pre} ${make_cmd} test --release --target ${RUST_TARGET} ${configure_args} \
${make_check_args}
${make_check_pre} ${make_cmd} test --release --locked --target ${RUST_TARGET} \
${configure_args} ${make_check_args}
}
do_install() {

View file

@ -55,6 +55,7 @@ _EOF
cmake_args+=" -DCMAKE_BUILD_TYPE=None"
cmake_args+=" -DCMAKE_INSTALL_LIBDIR=lib${XBPS_TARGET_WORDSIZE}"
cmake_args+=" -DCMAKE_INSTALL_SYSCONFDIR=/etc"
cmake_args+=" -DFETCHCONTENT_FULLY_DISCONNECTED=ON"
if [ "$CROSS_BUILD" ]; then
cmake_args+=" -DQT_HOST_PATH=/usr"

View file

@ -15,7 +15,7 @@ do_build() {
}
do_check() {
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
if make -q check 2>/dev/null; then
:
else

View file

@ -5,7 +5,7 @@ do_install() {
: ${gem_cmd:=gem}
local _GEMDIR _INSTDIR
_GEMDIR=$($gem_cmd env gemdir)
_INSTDIR=${DESTDIR}/${_GEMDIR}/gems/${pkgname#ruby-}-${version}

View file

@ -173,7 +173,7 @@ do_install() {
if [ "$CROSS_BUILD" ]; then
local _TARGET_PLATFORM _TARGET_EXT_DIR
# Get arch of the target and host platform by reading the rbconfig.rb
# of the cross ruby
_TARGET_PLATFORM="$(ruby -r \

View file

@ -16,7 +16,7 @@ do_build() {
}
do_check() {
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
if make -q check 2>/dev/null; then
:
else

View file

@ -18,7 +18,7 @@ do_build() {
}
do_check() {
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
if make -q check 2>/dev/null; then
:
else

View file

@ -40,7 +40,7 @@ do_build() {
# default behavior.
go_mod_mode=
fi
go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -modcacherw -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
else
# Otherwise, build using GOPATH
go get -p "$XBPS_MAKEJOBS" -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}

View file

@ -9,24 +9,27 @@ do_build() {
}
do_check() {
local testjobs
if python3 -c 'import pytest' >/dev/null 2>&1; then
if python3 -c 'import xdist' >/dev/null 2>&1; then
testjobs="-n $XBPS_MAKEJOBS"
fi
${make_check_pre} python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target}
else
msg_warn "Unable to determine tests for PEP517 Python templates\n"
if ! python3 -c 'import pytest' >/dev/null 2>&1; then
msg_warn "Testing of python3-pep517 templates requires pytest\n"
return 0
fi
local testjobs
if python3 -c 'import xdist' >/dev/null 2>&1; then
testjobs="-n $XBPS_MAKEJOBS"
fi
local testdir="${wrksrc}/tmp/$(date +%s)"
python3 -m installer --destdir "${testdir}" \
${make_install_args} ${make_install_target:-dist/*.whl}
PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
${make_check_pre} pytest3 ${testjobs} ${make_check_args} ${make_check_target}
}
do_install() {
if [ -z "${make_install_target}" ]; then
# Default wheel name normalizes hyphens to underscores
local wheelbase="${pkgname#python3-}"
make_install_target="dist/${wheelbase//-/_}-${version}-*-*-*.whl"
fi
: ${make_install_args:=--no-compile-bytecode}
: ${make_install_target:="dist/*.whl"}
python3 -m installer --destdir ${DESTDIR} \
${make_install_args} ${make_install_target}

View file

@ -4,13 +4,18 @@
do_configure() {
local qmake
local qmake_args
local qt
if [ -x "/usr/lib/qt5/bin/qmake" ]; then
qmake="/usr/lib/qt5/bin/qmake"
qt="qt5"
elif [ -x "/usr/lib/qt6/bin/qmake" ]; then
qmake="/usr/lib/qt6/bin/qmake"
qt="qt6"
fi
if [ -z "${qmake}" ]; then
msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n"
fi
if [ "$CROSS_BUILD" ] && [ "$qmake" == "/usr/lib/qt5/bin/qmake" ]; then
if [ "$CROSS_BUILD" ]; then
case $XBPS_TARGET_MACHINE in
i686*) _qt_arch=i386;;
x86_64*) _qt_arch=x86_64;;
@ -26,13 +31,13 @@ MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib
include(/usr/lib/qt5/mkspecs/common/linux.conf)
include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf)
include(/usr/lib/qt5/mkspecs/common/g++-unix.conf)
include(/usr/lib/${qt}/mkspecs/common/linux.conf)
include(/usr/lib/${qt}/mkspecs/common/gcc-base-unix.conf)
include(/usr/lib/${qt}/mkspecs/common/g++-unix.conf)
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/modules
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qconfig.pri
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qmodule.pri
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/modules
QMAKE_CC = ${CC}
QMAKE_CXX = ${CXX}
QMAKE_LINK = ${CXX}
@ -49,7 +54,7 @@ QMAKE_CXXFLAGS = ${CXXFLAGS}
QMAKE_LFLAGS = ${LDFLAGS}
load(qt_config)
_EOF
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h\"" > "${wrksrc}/.target-spec/linux-g++/qplatformdefs.h"
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h\"" > "${wrksrc}/.target-spec/linux-g++/qplatformdefs.h"
mkdir -p "${wrksrc}/.host-spec/linux-g++"
cat > "${wrksrc}/.host-spec/linux-g++/qmake.conf" <<_EOF
@ -57,12 +62,12 @@ MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib
include(/usr/lib/qt5/mkspecs/common/linux.conf)
include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf)
include(/usr/lib/qt5/mkspecs/common/g++-unix.conf)
include(/usr/lib/${qt}/mkspecs/common/linux.conf)
include(/usr/lib/${qt}/mkspecs/common/gcc-base-unix.conf)
include(/usr/lib/${qt}/mkspecs/common/g++-unix.conf)
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qconfig.pri
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qmodule.pri
QMAKE_CC = ${CC_host}
QMAKE_CXX = ${CXX_host}
QMAKE_LINK = ${CXX_host}
@ -79,29 +84,30 @@ QMAKE_CXXFLAGS = ${CXXFLAGS_host}
QMAKE_LFLAGS = ${LDFLAGS_host}
load(qt_config)
_EOF
echo '#include "/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h"
echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h"
cat > "${wrksrc}/qt.conf" <<_EOF
[Paths]
Sysroot=${XBPS_CROSS_BASE}
Prefix=/usr
ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
Data=${XBPS_CROSS_BASE}/usr/share/qt5
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
Headers=${XBPS_CROSS_BASE}/usr/include/qt5
ArchData=${XBPS_CROSS_BASE}/usr/lib/${qt}
Data=${XBPS_CROSS_BASE}/usr/share/${qt}
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/${qt}
Headers=${XBPS_CROSS_BASE}/usr/include/${qt}
Libraries=${XBPS_CROSS_BASE}/usr/lib
LibraryExecutables=/usr/lib/qt5/libexec
Binaries=/usr/lib/qt5/bin
LibraryExecutables=/usr/lib/${qt}/libexec
Binaries=/usr/lib/${qt}/bin
Tests=${XBPS_CROSS_BASE}/usr/tests
Plugins=/usr/lib/qt5/plugins
Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
Plugins=/usr/lib/${qt}/plugins
Imports=${XBPS_CROSS_BASE}/usr/lib/${qt}/imports
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/${qt}/qml
Translations=${XBPS_CROSS_BASE}/usr/share/${qt}/translations
Settings=${XBPS_CROSS_BASE}/etc/xdg
Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
Examples=${XBPS_CROSS_BASE}/usr/share/${qt}/examples
HostPrefix=/usr
HostData=/usr/lib/qt5
HostBinaries=/usr/lib/qt5/bin
HostData=/usr/lib/${qt}
HostBinaries=/usr/lib/${qt}/bin
HostLibraries=/usr/lib
HostLibraryExecutables=/usr/lib/${qt}/libexec
Spec=${wrksrc}/.host-spec/linux-g++
TargetSpec=${wrksrc}/.target-spec/linux-g++
_EOF

View file

@ -7,7 +7,7 @@
# build_style=slashpackage
# build_wrksrc=${pkgname}-${version}
# distfiles=<download link>
#
#
# example (daemontools)
#
# Template file for 'daemontools'

View file

@ -53,6 +53,7 @@ _void_cross_build_binutils() {
--sbindir=/usr/bin \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--target=${tgt} \
--with-sysroot=/usr/${tgt} \
--disable-nls \
@ -60,7 +61,9 @@ _void_cross_build_binutils() {
--disable-multilib \
--disable-werror \
--disable-gold \
--disable-gprofng \
--enable-relro \
--enable-new-dtags \
--enable-plugins \
--enable-64-bit-bfd \
--enable-deterministic-archives \
@ -132,6 +135,7 @@ _void_cross_build_bootstrap_gcc() {
--disable-libssp \
--disable-libitm \
--disable-libatomic \
--disable-gcov \
--disable-threads \
--disable-sjlj-exceptions \
--enable-languages=c \
@ -315,6 +319,14 @@ _void_cross_build_musl() {
make ${makejobs}
make DESTDIR=${wrksrc}/build_root/usr/${tgt} install
CFLAGS="-pipe -fPIC ${cross_musl_cflags}" \
CPPFLAGS="${cross_musl_cflags}" LDFLAGS="${cross_musl_ldflags}" \
${tgt}-gcc -pipe -fPIC ${cross_musl_cflags} ${cross_musl_ldflags} -fpie \
-c ${XBPS_SRCPKGDIR}/musl/files/__stack_chk_fail_local.c \
-o __stack_chk_fail_local.o
${tgt}-ar r libssp_nonshared.a __stack_chk_fail_local.o
cp libssp_nonshared.a ${wrksrc}/build_root/usr/${tgt}/usr/lib
touch ${wrksrc}/.musl_build_done
}
@ -381,6 +393,7 @@ _void_cross_build_gcc() {
extra_args+=" --disable-gnu-unique-object"
extra_args+=" libat_cv_have_ifunc=no"
else
extra_args+=" --enable-clocale=gnu"
extra_args+=" --enable-gnu-unique-object"
fi
@ -412,6 +425,7 @@ _void_cross_build_gcc() {
--disable-libvtv \
--disable-libsanitizer \
--disable-libstdcxx-pch \
--disable-libssp \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
@ -420,7 +434,6 @@ _void_cross_build_gcc() {
--enable-lto \
--enable-default-pie \
--enable-default-ssp \
--enable-libssp \
--with-gnu-ld \
--with-gnu-as \
--with-linker-hash-style=gnu \
@ -460,6 +473,14 @@ do_build() {
local binutils_ver linux_ver gcc_ver libc_ver libucontext_ver
local tgt=${sourcepkg/cross-}
export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
# Disable explicit -fno-PIE, gcc/binutils/libc will figure this out itself.
export CFLAGS="${CFLAGS//-fno-PIE/}"
export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
export LDFLAGS="${LDFLAGS//-no-pie/}"
_void_cross_test_ver binutils
_void_cross_test_ver linux
_void_cross_test_ver gcc
@ -587,6 +608,8 @@ do_install() {
for f in ${DESTDIR}/${sysroot}/usr/lib/ld-musl-*.so.*; do
ln -sf libc.so ${f}
done
cp libssp_nonshared.a ${DESTDIR}/${sysroot}/usr/lib/
else
# Install glibc
cd ${wrksrc}/glibc_build
@ -625,6 +648,9 @@ do_install() {
# then remove it because it conflicts with libquadmath package
rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
# Remove libdep linker plugin because it conflicts with system binutils
rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep*
# Remove leftover symlinks
rm -f ${DESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE}
rm -f ${DESTDIR}/lib*

View file

@ -12,7 +12,7 @@
# into /.xbps_chroot_init
#
# The supported way to make use of thie chroot-style is to create
# a root filesystem that has base-chroot and git installed and
# a root filesystem that has base-chroot and git installed and
# have it inside a container engine like Docker.
#
# Docker example:
@ -21,7 +21,7 @@
# -R http://mirrors.servercentral.com/voidlinux/current \
# -S base-chroot
# $ tar -pC /tmp/image -c . | sudo docker import - voidlinux/masterdir
# $ rm -rf /tmp/image
# $ rm -rf /tmp/image
# # docker run --rm -it \
# -e XBPS_CHROOT_CMD=ethereal \
# -e XBPS_ALLOW_CHROOT_BREAKOUT=yes \

View file

@ -5,6 +5,9 @@ build_wrksrc="${pkgname#R-cran-}"
# default to cran
if [ -z "$distfiles" ]; then
distfiles="https://cran.r-project.org/src/contrib/${pkgname#R-cran-}_${version//r/-}.tar.gz
https://cran.r-project.org/src/contrib/Archive/${pkgname#R-cran-}/${pkgname#R-cran-}_${version//r/-}.tar.gz"
distfiles=" https://cran.r-project.org/src/contrib/Archive/${pkgname#R-cran-}/${pkgname#R-cran-}_${version//r/-}.tar.gz"
case " $XBPS_DISTFILES_MIRROR " in
*" https://cran.r-project.org/src/contrib "*) ;;
*) XBPS_DISTFILES_MIRROR+=" https://cran.r-project.org/src/contrib" ;;
esac
fi

View file

@ -8,4 +8,6 @@ if [ "$CROSS_BUILD" ]; then
makedepends+=" rust-std"
fi
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
build_helper+=" rust"

View file

@ -37,7 +37,7 @@ export CGO_CFLAGS="$CFLAGS"
export CGO_CPPFLAGS="$CPPFLAGS"
export CGO_CXXFLAGS="$CXXFLAGS"
export CGO_LDFLAGS="$LDFLAGS"
export CGO_ENABLED=1
export CGO_ENABLED="${CGO_ENABLED:-1}"
export GO111MODULE=auto
case "$XBPS_TARGET_MACHINE" in
*-musl) export GOCACHE="${XBPS_HOSTDIR}/gocache-muslc" ;;

View file

@ -81,10 +81,10 @@ libIDL_cv_long_long_format=ll
## ac_cv_alignof_CORBA_short=2
## ac_cv_alignof_CORBA_struct=1
## ac_cv_alignof_CORBA_wchar=2
##
##
## lf_cv_sane_realloc=yes
as_cv_unaligned_access=${as_cv_unaligned_access=no}
##
##
## #unfs3
## nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0}
## nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize}

View file

@ -99,7 +99,7 @@ acx_working_snprintf=${acx_working_snprintf=yes}
# libidl
libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
# libnet
# libnet
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
# libpcap

View file

@ -11,7 +11,6 @@ ac_cv_func_getgrgid_r=${ac_cv_func_getgrgid_r=yes}
ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
ac_cv_func_strdup=yes
ac_cv_func_strtod=yes
@ -170,3 +169,7 @@ ac_cv_strftime_extensions=yes
# time
ac_cv_func_wait3=yes
# Y2038
gl_cv_type_time_t_y2038=${gl_cv_type_time_t_y2038=no}
ac_cv_type_time_t_bits_macro=${ac_cv_type_time_t_bits_macro=no}

View file

@ -120,7 +120,7 @@ lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
# libidl
libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
# libnet
# libnet
ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no}
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}

View file

@ -1,16 +1,16 @@
local _wrksrc="$wrksrc${build_wrksrc:+/$build_wrksrc}"
case "$build_style" in
cmake)
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
;;
meson)
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc/${meson_builddir:-build}=."
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc/${meson_builddir:-build}=."
CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc/${meson_builddir:-build}=."
CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc/${meson_builddir:-build}=."
;;
*)
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc=."
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc=."
CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc=."
CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc=."
esac
unset _wrksrc

View file

@ -19,11 +19,12 @@ done
_vsv() {
local service="$1"
local facility="${2:-daemon}"
local LN_OPTS="-s"
local svdir="${PKGDESTDIR}/etc/sv/${service}"
if [ $# -lt 1 ]; then
msg_red "$pkgver: vsv: 1 argument expected: <service>\n"
if [ $# -lt 1 ] || [ $# -gt 2 ]; then
msg_red "$pkgver: vsv: up to 2 arguments expected: <service> [<log facility>]\n"
return 1
fi
@ -34,17 +35,25 @@ _vsv() {
vmkdir etc/sv
vcopy "${FILESDIR}/$service" etc/sv
if [ ! -L $svdir/run ]; then
grep -Fq 'exec 2>&1' $svdir/run || msg_warn "$pkgver: vsv: service '$service' does not contain 'exec 2>&1' to log stderr\n"
chmod 755 $svdir/run
fi
if [ -e $svdir/finish ] && [ ! -L $svdir/finish ]; then
chmod 755 $svdir/finish
fi
ln ${LN_OPTS} /run/runit/supervise.${service} $svdir/supervise
if [ -d $svdir/log ]; then
ln ${LN_OPTS} /run/runit/supervise.${service}-log $svdir/log/supervise
if [ -e $svdir/log/run ] && [ ! -L $svdir/log/run ]; then
chmod 755 ${PKGDESTDIR}/etc/sv/${service}/log/run
fi
if [ -d $svdir/log ] || [ -L $svdir/log ]; then
msg_warn "$pkgver: vsv: overriding default log service\n"
else
mkdir $svdir/log
cat <<-EOF > $svdir/log/run
#!/bin/sh
exec vlogger -t $service -p $facility
EOF
fi
ln ${LN_OPTS} /run/runit/supervise.${service}-log $svdir/log/supervise
if [ -e $svdir/log/run ] && [ ! -L $svdir/log/run ]; then
chmod 755 ${PKGDESTDIR}/etc/sv/${service}/log/run
fi
}
@ -85,9 +94,9 @@ _vman() {
suffix=${target##*.}
fi
if [[ $target =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]]
if [[ $target =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?(\.[^.]+)?)\.(.*) ]]
then
name=${BASH_REMATCH[1]}.${BASH_REMATCH[4]}
name=${BASH_REMATCH[1]}.${BASH_REMATCH[5]}
mandir=${BASH_REMATCH[2]}/man${suffix:0:1}
else
name=$target

View file

@ -1,14 +1,14 @@
#
# Common variables that can be used by xbps-src.
#
# SITE used for ditfiles mirrors. For use in $distfiles.
# SITE used for distfiles mirrors. For use in $distfiles.
set -a
SOURCEFORGE_SITE="https://downloads.sourceforge.net/sourceforge"
NONGNU_SITE="https://download.savannah.nongnu.org/releases"
UBUNTU_SITE="http://archive.ubuntu.com/ubuntu/pool"
XORG_SITE="https://www.x.org/releases/individual"
DEBIAN_SITE="http://ftp.debian.org/debian/pool"
DEBIAN_SITE="https://ftp.debian.org/debian/pool"
GNOME_SITE="https://download.gnome.org/sources"
KERNEL_SITE="https://www.kernel.org/pub/linux"
CPAN_SITE="https://www.cpan.org/modules/by-module"

View file

@ -36,6 +36,6 @@ replace_interpreter() {
sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file
msg_normal "Transformed $lang script: ${file##$wrksrc}.\n"
else
msg_warn "Ignoring unexistent $lang script: ${file##$wrksrc}.\n"
msg_warn "Ignoring nonexistent $lang script: ${file##$wrksrc}.\n"
fi
}

View file

@ -1,6 +1,39 @@
# This shell snippet unsets all variables/functions that can be used in
# the package template (excluding subpackages).
# Exported variables
for var in $(awk 'BEGIN{for (i in ENVIRON) {print i}}' </dev/null); do
# Those variables in chroot.sh will be kept
case "$var" in
XBPS_* | IN_CHROOT | CHROOT_READY | SOURCE_DATE_EPOCH)
# xbps-src specific
;;
SOURCEFORGE_SITE | NONGNU_SITE | XORG_SITE | DEBIAN_SITE | GNOME_SITE)
;;
KERNEL_SITE | CPAN_SITE | PYPI_SITE | MOZILLA_SITE | GNU_SITE)
;;
FREEDESKTOP_SITE | KDE_SITE | VIDEOLAN_SITE | UBUNTU_SITE)
;;
_ | PWD | SHLVL | USER | PATH | SHELL | HOME | LC_COLLATE | LANG | TERM | PS1)
# known variables for shell
;;
DISTCC_HOSTS | DISTCC_DIR)
;;
CCACHE_DIR | CCACHE_COMPRESS)
;;
HTTP_PROXY | HTTPS_PROXY | SOCKS_PROXY | NO_PROXY | HTTP_PROXY_AUTH)
;;
FTP_PROXY | FTP_RETRIES)
;;
http_proxy | https_proxy | ftp_proxy | all_proxy | no_proxy)
;;
*)
unset -v "$var"
;;
esac
done
unset -v var
## VARIABLES
unset -v pkgname version revision short_desc homepage license maintainer
unset -v archs distfiles checksum build_style build_helper nocross broken
@ -20,6 +53,7 @@ unset -v nopie build_options build_options_default bootstrap repository reverts
unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
unset -v CC CXX CPP GCC LD AR AS RANLIB NM OBJDUMP OBJCOPY STRIP READELF PKG_CONFIG
unset -v CMAKE_GENERATOR
unset -v scons_use_destdir
# build-helper python3
unset -v PYPREFIX LDSHARED PYTHON_CONFIG PYTHONPATH _PYTHON_SYSCONFIGDATA_NAME

View file

@ -3,7 +3,7 @@
hook() {
local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
local f j curfile found extractdir innerdir num_dirs
local f j curfile found extractdir innerdir innerfile num_dirs
local TAR_CMD
if [ -z "$distfiles" -a -z "$checksum" ]; then
@ -56,12 +56,16 @@ hook() {
*.tbz) cursufx="tbz";;
*.tar.gz) cursufx="tgz";;
*.tgz) cursufx="tgz";;
*.tar.zst) cursufx="tzst";;
*.tzst) cursufx="tzst";;
*.gz) cursufx="gz";;
*.xz) cursufx="xz";;
*.bz2) cursufx="bz2";;
*.zst) cursufx="zst";;
*.tar) cursufx="tar";;
*.zip) cursufx="zip";;
*.rpm) cursufx="rpm";;
*.deb) cursufx="deb";;
*.patch) cursufx="txt";;
*.diff) cursufx="txt";;
*.txt) cursufx="txt";;
@ -73,25 +77,28 @@ hook() {
esac
case ${cursufx} in
tar|txz|tbz|tlz|tgz|crate)
tar|txz|tbz|tlz|tgz|tzst|crate)
$TAR_CMD -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
;;
gz|bz2|xz)
gz|bz2|xz|zst)
cp -f $srcdir/$curfile "$extractdir"
cd "$extractdir"
case ${cursufx} in
gz)
gunzip -f $curfile
gunzip -f $curfile
;;
bz2)
bunzip2 -f $curfile
;;
*)
xz)
unxz -f $curfile
;;
zst)
unzstd $curfile
;;
esac
;;
zip)
@ -110,14 +117,23 @@ hook() {
fi
;;
rpm)
if command -v rpmextract &>/dev/null; then
cd "$extractdir"
rpmextract $srcdir/$curfile
if ! command -v bsdtar &>/dev/null; then
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
fi
bsdtar -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
;;
deb)
if command -v bsdtar &>/dev/null; then
bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
fi
else
msg_error "$pkgver: cannot find rpmextract for extraction.\n"
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
fi
;;
txt)
@ -153,13 +169,14 @@ hook() {
esac
done
cd "$extractdir"
# find "$extractdir" -mindepth 1 -maxdepth 1 -printf '1\n' | wc -l
# However, it requires GNU's find
num_dirs=0
for f in "$extractdir"/* "$extractdir"/.*; do
for f in * .*; do
if [ -e "$f" ] || [ -L "$f" ]; then
case "$f" in
*/. | */..) ;;
. | ..) ;;
*)
innerdir="$f"
num_dirs=$(( num_dirs + 1 ))
@ -167,16 +184,35 @@ hook() {
esac
fi
done
# Special case for num_dirs = 2, and it contains metadata
if [ "$num_dirs" != 2 ] || [ "$create_wrksrc" ]; then
:
elif grep -q 'xmlns="http://pear[.]php[.]net/dtd/package' package.xml 2>/dev/null
then
# PHP modules' metadata
rm -f package.xml
for f in */; do innerdir="$f"; done
num_dirs=1
else
for f in *; do
# AppleDouble encoded Macintosh file
if [ -e "$f" ] && [ -e "._$f" ]; then
rm -f "._$f"
num_dirs=1
innerdir="$f"
break
fi
done
fi
rm -rf "$wrksrc"
innerdir="$extractdir/$innerdir"
cd "$XBPS_BUILDDIR"
if [ "$num_dirs" = 1 ] && [ -d "$innerdir" ] && [ -z "$create_wrksrc" ]; then
# rename the subdirectory (top-level of distfiles) to $wrksrc
mv "$innerdir" "$wrksrc" &&
rmdir "$extractdir"
elif [ "$num_dirs" -gt 1 ] || [ -n "$create_wrksrc" ]; then
# rename the tmpdir to wrksrc
mv "$extractdir" "$wrksrc"
else
mkdir -p "$wrksrc"
mv "$extractdir" "$wrksrc"
fi ||
msg_error "$pkgver: failed to move sources to $wrksrc\n"
}

View file

@ -54,14 +54,7 @@ contents_cksum() {
fi
;;
rpm)
if command -v rpmextract &>/dev/null; then
cksum=$($XBPS_DIGEST_CMD <(rpm2cpio "$curfile" | $TAR_CMD -x -f -))
if [ $? -ne 0 ]; then
msg_error "$pkgver: extracting $curfile to pipe.\n"
fi
else
msg_error "$pkgver: cannot find rpmextract for extraction.\n"
fi
msg_error "$pkgver: contents checksum not support for rpm.\n"
;;
txt)
cksum=$($XBPS_DIGEST_CMD "$curfile")

View file

@ -4,7 +4,7 @@ registerpkg() {
local repo="$1" pkg="$2" arch="$3"
if [ ! -f ${repo}/${pkg} ]; then
msg_error "Unexistent binary package ${repo}/${pkg}!\n"
msg_error "Nonexistent binary package ${repo}/${pkg}!\n"
fi
printf "%s:%s:%s\n" "${arch}" "${repo}" "${pkg}" >> "${XBPS_STATEDIR}/.${sourcepkg}_register_pkg"

View file

@ -207,6 +207,8 @@ hook() {
generic_wrapper sdl-config
generic_wrapper sdl2-config
generic_wrapper gpgme-config
generic_wrapper gphoto2-config
generic_wrapper gphoto2-port-config
generic_wrapper imlib2-config
generic_wrapper libmikmod-config
generic_wrapper pcre-config

View file

@ -46,7 +46,7 @@ store_pkgdestdir_rundeps() {
}
hook() {
local depsftmp f lf j mapshlibs sorequires _curdep elfmagic
local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps
# Disable trap on ERR, xbps-uhelper cmd might return error... but not something
# to be worried about because if there are broken shlibs this hook returns
@ -63,6 +63,10 @@ hook() {
depsftmp=$(mktemp) || exit 1
find ${PKGDESTDIR} -type f -perm -u+w > $depsftmp 2>/dev/null
for f in ${shlib_requires}; do
verify_deps+=" ${f}"
done
exec 3<&0 # save stdin
exec < $depsftmp
while read f; do
@ -100,7 +104,7 @@ hook() {
soname=$(find ${PKGDESTDIR} -name "$f")
if [ -z "$soname" ]; then
msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
broken=1
broken_shlibs=1
else
echo " SONAME: $f <-> $pkgname (ignored)"
fi
@ -129,7 +133,7 @@ hook() {
_rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null)
if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then
msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
broken=1
broken_shlibs=1
continue
fi
# Check if pkg is a subpkg of sourcepkg; if true, ignore version
@ -155,15 +159,12 @@ hook() {
#
# If pkg uses any unknown SONAME error out.
#
if [ -n "$broken" -a -z "$allow_unknown_shlibs" ]; then
if [ -n "$broken_shlibs" -a -z "$allow_unknown_shlibs" ]; then
msg_error "$pkgver: cannot guess required shlibs, aborting!\n"
fi
store_pkgdestdir_rundeps
for f in ${shlib_requires}; do
sorequires+="${f} "
done
if [ -n "${sorequires}" ]; then
echo "${sorequires}" | xargs -n1 | sort | xargs > ${PKGDESTDIR}/shlib-requires
fi

View file

@ -29,6 +29,15 @@ hook() {
fi
done
if [ -d ${PKGDESTDIR}/usr/lib/libexec ]; then
# Add exception for kconfig,
# other packages hard-coded path to its files
if [ "${pkgname}" != kconfig ]; then
msg_red "${pkgver}: /usr/lib/libexec directory is not allowed!\n"
error=1
fi
fi
for f in "$PKGDESTDIR"/*; do
f="${f##*/}"
case "$f" in
@ -128,6 +137,11 @@ hook() {
error=1
fi
if [ -e ${PKGDESTDIR}/usr/share/glib-2.0/schemas/gschemas.compiled ]; then
msg_red "${pkgver}: /usr/share/glib-2.0/schemas/gschemas.compiled is forbidden. Delete it.\n"
error=1
fi
# Forbid files would be generated by mimedb trigger
for f in XMLnamespaces aliases generic-icons globs globs2 icons \
magic mime.cache subclasses treemagic types version ; do

View file

@ -32,9 +32,20 @@ do
awk -vC="$cmt" '
# skip header
/^$/ && !msg { msg = 1; next }
/^author .*noreply/ && !msg {
print "::error title=Commit Lint::" C ": authored by noreply email";
ret=1;
}
/^author .*(localhost|localdomain|[(]none[)])/ && !msg {
print "::error title=Commit Lint::" C ": authored by localhost email";
ret=1;
}
!msg { next }
# 3: long-line-is-banned-except-footnote-like-this-for-url
(NF > 2) && (length > 80) { print "::error title=Commit Lint::" C ": long line: " $0; exit 1 }
(NF > 2) && (length > 80) {
print "::error title=Commit Lint::" C ": long line: " $0
ret = 1
}
!subject {
if (length > 50) { print "::warning title=Commit Lint::" C ": subject is a bit long" }
if (!($0 ~ ":" || $0 ~ "^Take over maintainership " || $0 ~ "^Orphan ")) { print "::error title=Commit Lint::" C ": subject does not follow CONTRIBUTING.md guildelines"; exit 1 }
@ -45,7 +56,11 @@ do
subject = 1; next
}
/^$/ { body = 1; next }
!body { print "::error title=Commit Lint::" C ": second line must be blank"; exit 1 }
!body {
print "::error title=Commit Lint::" C ": second line must be blank"
ret = 1
}
END { exit ret }
' || status=1
done
exit $status

View file

@ -25,7 +25,7 @@ else
fi
declare -A newly_built conflicts_cache providers_cache pairs owners
repositories=("--repository=${binpkgs}" "--repository=${binpkgs}/nonfree")
repositories=("--repository=${binpkgs}/bootstrap" "--repository=${binpkgs}" "--repository=${binpkgs}/nonfree")
rv=0
template_exists() {

View file

@ -87,7 +87,7 @@ def find_cycles(depmap, xbpsdir):
# Any of the dependencies here contributes to a cycle
p = min(deps)
if len(deps) > 1:
print('Mulitpath: {} -> {}, choosing first'.format(p, deps))
print('Multipath: {} -> {}, choosing first'.format(p, deps))
if cycles:
print('Cycle: ' + ' -> '.join(cycles) + '\n')

File diff suppressed because it is too large Load diff

View file

@ -10,9 +10,10 @@ case "$tip" in
*) tip="${tip%% *}" ;;
esac
base="$(git merge-base FETCH_HEAD "$tip")" || {
echo "Your branches is based on too old copy."
echo "Please rebase to newest copy."
base="$(git merge-base origin/HEAD "$tip")"
[ $(git rev-list --count "$tip" "^$base") -lt 200 ] || {
echo "::error title=Branch out of date::Your branch is too out of date. Please rebase on upstream and force-push."
exit 1
}

View file

@ -6,20 +6,33 @@ export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo
if [ "$1" != "$XBPS_TARGET_ARCH" ]; then
triplet="$(/hostrepo/xbps-src -a "$XBPS_TARGET_ARCH" show-var XBPS_CROSS_TRIPLET)"
ROOTDIR="-r /usr/$triplet"
CONFDIR="-C /usr/$triplet/etc/xbps.d"
else
CONFDIR="-C /etc/xbps.d"
fi
ADDREPO="--repository=$HOME/hostdir/binpkgs --repository=$HOME/hostdir/binpkgs/nonfree"
mkdir /check-install
mkdir -p /check-install/var/db/xbps/keys
cp /var/db/xbps/keys/* /check-install/var/db/xbps/keys/
ADDREPO="--repository=$HOME/hostdir/binpkgs/bootstrap
--repository=$HOME/hostdir/binpkgs
--repository=$HOME/hostdir/binpkgs/nonfree"
ROOTDIR="-r /check-install"
xbps-install $ROOTDIR $ADDREPO $CONFDIR -S
while read -r pkg; do
for subpkg in $(xsubpkg $pkg); do
/bin/echo -e "\x1b[32mTrying to install dependants of $subpkg:\x1b[0m"
for dep in $(xbps-query $ADDREPO -RX "$subpkg"); do
xbps-install \
$ROOTDIR $ADDREPO \
-Sny \
$ROOTDIR $ADDREPO $CONFDIR \
-ny \
"$subpkg" "$(xbps-uhelper getpkgname "$dep")"
if [ $? -eq 8 ]; then
ret="$?"
if [ "$ret" -eq 8 ] || [ "$ret" -eq 11 ]; then
/bin/echo -e "\x1b[31mFailed to install '$subpkg' and '$dep'\x1b[0m"
exit 1
fi

View file

@ -185,6 +185,7 @@ FLTK-exception
FSFAP
FSFUL
FSFULLR
FSFULLRWD
FTL
Fair
Fawkes-Runtime-exception
@ -251,6 +252,7 @@ JSON
Jam
JasPer-2.0
KiCad-libraries-exception
Knuth-CTAN
LAL-1.2
LAL-1.3
LGPL-2.0-only
@ -479,6 +481,7 @@ Zimbra-1.4
Zlib
blessing
bzip2-1.0.6
checkmk
copyleft-next-0.3.0
copyleft-next-0.3.1
curl
@ -527,6 +530,7 @@ iMatix
libpng-2.0
libselinux-1.0
libtiff
libutil-David-Nugent
mif-exception
mpi-permissive
mpich2
@ -535,6 +539,7 @@ openvpn-openssl-exception
psfrag
psutils
u-boot-exception-2.0
x11vnc-openssl-exception
xinetd
xpp
zlib-acknowledgement

View file

@ -7,7 +7,8 @@ export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo
while read -r pkg; do
for subpkg in $(xsubpkg $pkg); do
/bin/echo -e "\x1b[32mFiles of $subpkg:\x1b[0m"
xbps-query --repository=$HOME/hostdir/binpkgs \
xbps-query --repository=$HOME/hostdir/binpkgs/bootstrap \
--repository=$HOME/hostdir/binpkgs \
--repository=$HOME/hostdir/binpkgs/nonfree \
-i -f "$subpkg" ||
/bin/echo -e "\x1b[33m $subpkg wasn't found\x1b[0m"

View file

@ -2,7 +2,7 @@
#
# xlint.sh
[ "$XLINT" ] || exit 0
[ "$XLINT" ] || exit 0
EXITCODE=0
read base tip < /tmp/revisions

View file

@ -2,14 +2,15 @@
#
# xpkgdiff.sh
export XBPS_DISTDIR=/hostrepo XBPS_HOSTDIR="$HOME/hostdir"
export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo XBPS_HOSTDIR="$HOME/hostdir"
export DIFF='diff --unified=0 --report-identical-files --suppress-common-lines
--color=always --label REPO --label BUILT'
ARGS="-a $2 -R https://repo-ci.voidlinux.org/current"
while read -r pkg; do
for subpkg in $(xsubpkg $pkg); do
if xbps-query --repository=$HOME/hostdir/binpkgs \
if xbps-query --repository=$HOME/hostdir/binpkgs/bootstrap \
--repository=$HOME/hostdir/binpkgs \
--repository=$HOME/hostdir/binpkgs/nonfree \
-i "$subpkg" >&/dev/null; then
/bin/echo -e "\x1b[34mFile Diff of $subpkg:\x1b[0m"

View file

@ -138,7 +138,12 @@ install_pkg_deps() {
[ -z "$pkgname" ] && return 2
[ -z "$XBPS_CHECK_PKGS" ] && unset checkdepends
[[ $build_style ]] && style=" [$build_style]"
if [[ $build_style ]] || [[ $build_helper ]]; then
style=" with"
fi
[[ $build_style ]] && style+=" [$build_style]"
for s in $build_helper; do
style+=" [$s]"

View file

@ -73,7 +73,7 @@ bulk_build() {
return $?
;;
local)
bulk_sortdeps $(xbps-checkvers -f '%n' -i -R "${XBPS_REPOSITORY}" -R "${XBPS_REPOSITORY}/nonfree" -D "$XBPS_DISTDIR")
bulk_sortdeps $(xbps-checkvers -f '%n' -i -R "${XBPS_REPOSITORY}/bootstrap" -R "${XBPS_REPOSITORY}" -R "${XBPS_REPOSITORY}/nonfree" -D "$XBPS_DISTDIR")
return $?
;;
esac
@ -122,6 +122,6 @@ bulk_update() {
if [ -n "$pkgs" -a "$bulk_update_cmd" == installed ]; then
echo
msg_normal "xbps-src: updating your system, confirm to proceed...\n"
${XBPS_SUCMD} "xbps-install --repository=$XBPS_REPOSITORY --repository=$XBPS_REPOSITORY/nonfree -u ${pkgs//[$'\n']/ }" || return 1
${XBPS_SUCMD} "xbps-install --repository=$XBPS_REPOSITORY/bootstrap --repository=$XBPS_REPOSITORY --repository=$XBPS_REPOSITORY/nonfree -u ${pkgs//[$'\n']/ }" || return 1
fi
}

View file

@ -89,7 +89,7 @@ PATH=/void-packages:/usr/bin
exec env -i -- SHELL=/bin/sh PATH="\$PATH" DISTCC_HOSTS="\$XBPS_DISTCC_HOSTS" DISTCC_DIR="/host/distcc" \
${XBPS_ARCH+XBPS_ARCH=$XBPS_ARCH} ${XBPS_CHECK_PKGS+XBPS_CHECK_PKGS=$XBPS_CHECK_PKGS} \
CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp" \
PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h
PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h "\$@"
_EOF
chmod 755 $XBPS_MASTERDIR/bin/xbps-shell
@ -165,6 +165,11 @@ chroot_handler() {
else
env -i -- PATH="/usr/bin:$PATH" SHELL=/bin/sh \
HOME=/tmp IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \
${http_proxy:+http_proxy="${http_proxy}"} \
${https_proxy:+https_proxy="${https_proxy}"} \
${ftp_proxy:+ftp_proxy="${ftp_proxy}"} \
${all_proxy:+all_proxy="${all_proxy}"} \
${no_proxy:+no_proxy="${no_proxy}"} \
${HTTP_PROXY:+HTTP_PROXY="${HTTP_PROXY}"} \
${HTTPS_PROXY:+HTTPS_PROXY="${HTTPS_PROXY}"} \
${FTP_PROXY:+FTP_PROXY="${FTP_PROXY}"} \
@ -209,16 +214,18 @@ chroot_sync_repodata() {
# Update xbps alternative repository if set.
mkdir -p $confdir
if [ -n "$XBPS_ALT_REPOSITORY" ]; then
( \
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}"; \
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/nonfree"; \
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/debug"; \
) > $confdir/00-repository-alt-local.conf
cat <<- ! > $confdir/00-repository-alt-local.conf
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/bootstrap
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/nonfree
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/debug
!
if [ "$XBPS_MACHINE" = "x86_64" ]; then
( \
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib"; \
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/nonfree"; \
) >> $confdir/00-repository-alt-local.conf
cat <<- ! >> $confdir/00-repository-alt-local.conf
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/bootstrap
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/nonfree
!
fi
else
rm -f $confdir/00-repository-alt-local.conf

View file

@ -415,7 +415,7 @@ setup_pkg() {
done
if [ ! -f ${XBPS_SRCPKGDIR}/${basepkg}/template ]; then
msg_error "xbps-src: unexistent file: ${XBPS_SRCPKGDIR}/${basepkg}/template\n"
msg_error "xbps-src: nonexistent file: ${XBPS_SRCPKGDIR}/${basepkg}/template\n"
fi
if [ -n "$cross" ]; then
export CROSS_BUILD="$cross"
@ -477,12 +477,17 @@ setup_pkg() {
fi
fi
for x in ${hostmakedepends} ${makedepends} ${checkdepends}; do
if [[ $x = *[\<\>]* || $x =~ -[^-_]*[0-9][^-_]*_[0-9_]+$ ]]; then
msg_error "$pkgver: specifying version in build dependency '$x' is invalid, template version is used always\n"
fi
done
FILESDIR=$XBPS_SRCPKGDIR/$sourcepkg/files
PATCHESDIR=$XBPS_SRCPKGDIR/$sourcepkg/patches
DESTDIR=$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/${sourcepkg}-${version}
PKGDESTDIR=$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/${pkg}-${version}
: ${XBPS_MAKEJOBS:=1}
export XBPS_ORIG_MAKEJOBS=${XBPS_ORIG_MAKEJOBS:=$XBPS_MAKEJOBS}
if [ -n "$disable_parallel_build" ]; then
XBPS_MAKEJOBS=1

View file

@ -22,7 +22,7 @@ consistency_convert_pkgname () {
;;
esac
case "$dep" in
*\<*|*\>*|*=*)
*\<*|*\>*|*=*)
printf "%s %s %s\n" "$dep" "$origname" "$deplabel"
continue
;;

View file

@ -105,7 +105,7 @@ remove_pkg_statedir() {
remove_pkg() {
local cross="$1" _destdir f
[ -z $pkgname ] && msg_error "unexistent package, aborting.\n"
[ -z $pkgname ] && msg_error "nonexistent package, aborting.\n"
if [ -n "$cross" ]; then
_destdir="$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET"

View file

@ -1,49 +1,27 @@
# vim: set ts=4 sw=4 et:
show_pkg() {
local i=
echo "pkgname: $pkgname"
echo "version: $version"
echo "revision: $revision"
for i in ${distfiles}; do
[ -n "$i" ] && echo "distfiles: $i"
done
for i in ${checksum}; do
[ -n "$i" ] && echo "checksum: $i"
done
for i in ${archs}; do
[ -n "$i" ] && echo "archs: $i"
done
echo "maintainer: $maintainer"
[ -n "$homepage" ] && echo "Upstream URL: $homepage"
[ -n "$license" ] && echo "License(s): $license"
[ -n "$changelog" ] && echo "Changelog: $changelog"
[ -n "$build_style" ] && echo "build_style: $build_style"
for i in $build_helper; do
[ -n "$i" ] && echo "build_helper: $i"
done
for i in ${configure_args}; do
[ -n "$i" ] && echo "configure_args: $i"
done
echo "short_desc: $short_desc"
for i in ${subpackages}; do
[ -n "$i" ] && echo "subpackages: $i"
done
show_pkg_var "pkgname" "$pkgname"
show_pkg_var "version" "$version"
show_pkg_var "revision" "$revision"
show_pkg_var "distfiles" "$distfiles" 1
show_pkg_var "checksum" "$checksum" 1
show_pkg_var "archs" "$archs" 1
show_pkg_var "maintainer" "${maintainer}"
show_pkg_var "Upstream URL" "$homepage"
show_pkg_var "License(s)" "${license//,/ }" 1
show_pkg_var "Changelog" "$changelog"
show_pkg_var "build_style" "$build_style"
show_pkg_var "build_helper" "$build_helper" 1
show_pkg_var "configure_args" "$configure_args" 1
show_pkg_var "short_desc" "$short_desc"
show_pkg_var "subpackages" "$subpackages" 1
set -f
for i in ${conf_files}; do
[ -n "$i" ] && echo "conf_files: $i"
done
show_pkg_var "conf_files" "$conf_files" 1
set +f
for i in ${replaces}; do
[ -n "$i" ] && echo "replaces: $i"
done
for i in ${provides}; do
[ -n "$i" ] && echo "provides: $i"
done
for i in ${conflicts}; do
[ -n "$i" ] && echo "conflicts: $i"
done
show_pkg_var "replaces" "$replaces" 1
show_pkg_var "provides" "$provides" 1
show_pkg_var "conflicts" "$conflicts" 1
local OIFS="$IFS"
IFS=','
for var in $1; do
@ -51,11 +29,9 @@ show_pkg() {
if [ ${var} != ${var/'*'} ]
then
var="${var/'*'}"
[ -n "${!var}" ] && echo "$var: ${!var//$'\n'/' '}"
show_pkg_var "$var" "${!var//$'\n'/' '}"
else
for val in ${!var}; do
[ -n "$val" ] && echo "$var: $val"
done
show_pkg_var "$var" "${!var}" 1
fi
done
IFS="$OIFS"
@ -63,6 +39,28 @@ show_pkg() {
return 0
}
show_pkg_var() {
local _sep i=
local _label="$1"
local _value="$2"
local _always_split="$3"
if [ -n "$_value" ] && [ -n "$_label" ]; then
# on short labels, use more padding so everything lines up
if [ "${#_label}" -lt 7 ]; then
_sep=" "
else
_sep=" "
fi
if [ -n "$_always_split" ] || [[ "$_value" =~ $'\n' ]]; then
for i in ${_value}; do
[ -n "$i" ] && echo "${_label}:${_sep}${i}"
done
else
echo "${_label}:${_sep}${_value}"
fi
fi
}
show_pkg_deps() {
[ -f "${PKGDESTDIR}/rdeps" ] && cat ${PKGDESTDIR}/rdeps
}

View file

@ -13,6 +13,11 @@ update_check() {
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then
echo "using $XBPS_TARGET_PKG/update overrides" 1>&2
fi
elif [ -z "$distfiles" ]; then
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then
echo "NO DISTFILES found for $original_pkgname" 1>&2
fi
return 0
fi
if ! type curl >/dev/null 2>&1; then
@ -66,6 +71,7 @@ update_check() {
*crates.io*|\
*codeberg.org*|\
*hg.sr.ht*|\
*software.sil.org*|\
*git.sr.ht*)
continue
;;
@ -111,7 +117,7 @@ update_check() {
pkgurlname="$(printf %s "$url" | cut -d/ -f5)"
url="https://sourceforge.net/projects/$pkgurlname/rss?limit=200";;
*code.google.com*|*googlecode*)
url="http://code.google.com/p/$pkgname/downloads/list";;
url="https://code.google.com/p/$pkgname/downloads/list";;
*launchpad.net*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4)"
url="https://launchpad.net/$pkgurlname/+download";;
@ -124,13 +130,13 @@ update_check() {
*github.com*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
url="https://github.com/$pkgurlname/tags"
rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E[-_])?\K[\d.]+(?=\.tar\.gz")';;
*//gitlab.*|*code.videolan.org*)
case "$url" in
*/-/*) pkgurlname="$(printf %s "$url" | sed -e 's%/-/.*%%g; s%/$%%')";;
*) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";;
esac
url="$pkgurlname/tags"
url="$pkgurlname/-/tags"
rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';;
*bitbucket.org*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
@ -162,10 +168,22 @@ update_check() {
rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
*git.sr.ht*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
url="https://git.sr.ht/$pkgurlname/refs"
rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
url="https://git.sr.ht/$pkgurlname/refs/rss.xml"
rx='<guid>\Q'"${url%/*}"'\E/(v-?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=</guid>)' ;;
*pkgs.fedoraproject.org*)
url="https://pkgs.fedoraproject.org/repo/pkgs/$pkgname" ;;
*software.sil.org/downloads/*)
pkgurlname=$(printf '%s\n' "$url" | cut -d/ -f6)
url="https://software.sil.org/$pkgurlname/download/"
pkgname="${pkgname#font-}"
pkgname="${pkgname#sil-}"
_pkgname="${pkgname//-/}"
rx="($_pkgname|${_pkgname}SIL)[_-]\K[0-9.]+(?=\.tar|\.zip)" ;;
*software.sil.org/*)
pkgname="${pkgname#font-}"
pkgname="${pkgname#sil-}"
_pkgname="${pkgname//-/}"
rx="($_pkgname|${_pkgname}SIL)[_-]\K[0-9.]+(?=\.tar|\.zip)" ;;
esac
fi

View file

@ -64,7 +64,8 @@ XBPS_SUCMD="sudo /bin/sh -c"
# [OPTIONAL]
# Number of parallel jobs to execute when building packages that
# use make(1) or alike commands.
# use make(1) or alike commands. Defaults to the result of nproc(1).
# If nproc(1) is not available, defaults to 1.
#
#XBPS_MAKEJOBS=4
@ -158,3 +159,9 @@ XBPS_SUCMD="sudo /bin/sh -c"
# When unset, newly build package overwrites the older one.
#
#XBPS_PRESERVE_PKGS=yes
# [OPTIONAL]
# Show more detailed output in ./xbps-src update-check. Useful for debugging.
# This can also be set or exported as a regular environment variable.
#
#XBPS_UPDATE_CHECK_VERBOSE=yes

View file

@ -28,6 +28,7 @@ nodejs-runtime nodejs
ntp-daemon chrony
phonon-backend phonon-backend-gstreamer
phonon-qt5-backend phonon-qt5-backend-gstreamer
pipewire-session-manager pipewire-session-manager-bootstrap
rkt-stage1 rkt-stage1-coreos
smtp-server opensmtpd
tex texlive

View file

@ -1,4 +1,5 @@
# DON'T EDIT THIS FILE
# x86_64/glibc local repositories
repository=/host/binpkgs/multilib/bootstrap
repository=/host/binpkgs/multilib
repository=/host/binpkgs/multilib/nonfree

View file

@ -1,5 +1,6 @@
# DON'T EDIT THIS FILE
# Local repositories
repository=/host/binpkgs/bootstrap
repository=/host/binpkgs
repository=/host/binpkgs/nonfree
repository=/host/binpkgs/debug

View file

@ -1,4 +1,5 @@
# aarch64 voidlinux remote repositories
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/nonfree
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/debug
repository=https://repo-default.voidlinux.org/current/aarch64/bootstrap
repository=https://repo-default.voidlinux.org/current/aarch64
repository=https://repo-default.voidlinux.org/current/aarch64/nonfree
repository=https://repo-default.voidlinux.org/current/aarch64/debug

View file

@ -1,4 +1,5 @@
# aarch64 voidlinux remote repositories
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/nonfree
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/debug
repository=https://repo-default.voidlinux.org/current/aarch64/bootstrap
repository=https://repo-default.voidlinux.org/current/aarch64
repository=https://repo-default.voidlinux.org/current/aarch64/nonfree
repository=https://repo-default.voidlinux.org/current/aarch64/debug

View file

@ -1,7 +1,8 @@
# voidlinux remote repositories (musl)
repository=https://mirrors.servercentral.com/voidlinux/current/musl
repository=https://mirrors.servercentral.com/voidlinux/current/musl/nonfree
repository=https://mirrors.servercentral.com/voidlinux/current/musl/debug
repository=https://repo-default.voidlinux.org/current/musl/bootstrap
repository=https://repo-default.voidlinux.org/current/musl
repository=https://repo-default.voidlinux.org/current/musl/nonfree
repository=https://repo-default.voidlinux.org/current/musl/debug
# Cereus Linux remote repositories (musl)
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64-musl

View file

@ -1,3 +1,4 @@
# voidlinux remote repositories (x86_64/glibc)
repository=https://mirrors.servercentral.com/voidlinux/current/multilib
repository=https://mirrors.servercentral.com/voidlinux/current/multilib/nonfree
repository=https://repo-default.voidlinux.org/current/multilib/bootstrap
repository=https://repo-default.voidlinux.org/current/multilib
repository=https://repo-default.voidlinux.org/current/multilib/nonfree

View file

@ -1,7 +1,8 @@
# voidlinux remote repositories (glibc)
repository=https://mirrors.servercentral.com/voidlinux/current
repository=https://mirrors.servercentral.com/voidlinux/current/nonfree
repository=https://mirrors.servercentral.com/voidlinux/current/debug
repository=https://repo-default.voidlinux.org/current/bootstrap
repository=https://repo-default.voidlinux.org/current
repository=https://repo-default.voidlinux.org/current/nonfree
repository=https://repo-default.voidlinux.org/current/debug
# Cereus Linux remote repositories (glibc)
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64

View file

@ -290,6 +290,11 @@ check_native_arch() {
else
export XBPS_ARCH=$(xbps-uhelper arch)
fi
elif [ "$XBPS_TARGET" = 'binary-bootstrap' ] && [ "$XBPS_TARGET_PKG" ]; then
# ^ special case for binary-bootstrap for e.g:
# x86_64 -> x86_64-musl
# x86_64 -> i686
export XBPS_ARCH=$XBPS_TARGET_PKG
else
LDD=$(ldd --version 2>&1|head -1)
if [[ $LDD == *musl* ]]; then
@ -375,7 +380,6 @@ eval set -- $(getopt "$XBPS_OPTSTRING" "$@");
# Options are saved as XBPS_ARG_FOO instead of XBPS_FOO for now; this is
# because configuration files may override those and we want arguments to
# take precedence over configuration files
while getopts "$XBPS_OPTSTRING" opt; do
case $opt in
1) XBPS_ARG_BUILD_ONLY_ONE_PKG=yes; XBPS_OPTIONS+=" -1";;
@ -490,6 +494,13 @@ fi
[ -n "$XBPS_ARG_CHECK_PKGS" ] && XBPS_CHECK_PKGS="$XBPS_ARG_CHECK_PKGS"
[ -n "$XBPS_ARG_MAKEJOBS" ] && XBPS_MAKEJOBS="$XBPS_ARG_MAKEJOBS"
# Default to nproc for XBPS_MAKEJOBS if not set and nproc is available
if command -v nproc >/dev/null ; then
: ${XBPS_MAKEJOBS:=$(nproc)}
else
: ${XBPS_MAKEJOBS:=1}
fi
export XBPS_BUILD_ONLY_ONE_PKG XBPS_SKIP_REMOTEREPOS XBPS_BUILD_FORCEMODE \
XBPS_INFORMATIVE_RUN XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \
XBPS_USE_GIT_REVS XBPS_CHECK_PKGS XBPS_DEBUG_PKGS XBPS_SKIP_DEPS \