diff --git a/ceph/PKGBUILD b/ceph/PKGBUILD deleted file mode 100644 index ad1a33b..0000000 --- a/ceph/PKGBUILD +++ /dev/null @@ -1,204 +0,0 @@ -# Maintainer: Thore Bödecker -# Contributor: Sébastien "Seblu" Luttringer - -pkgbase='ceph' -pkgname=('ceph' 'ceph-libs') -pkgver=14.2.2 -pkgrel=1 -pkgdesc='Distributed, fault-tolerant storage platform delivering object, block, and file system' -arch=('x86_64') -url='https://ceph.com/' -license=('GPL') -makedepends=('bc' 'boost' 'boost-libs' 'cmake' 'cpio' 'crypto++' 'curl' 'cython' - 'cython2' 'expat' 'fcgi' 'fuse2' 'gcc-libs' 'git' 'glibc' 'gperf' 'gperftools' - 'gptfdisk' 'inetutils' 'jq' 'junit' 'keyutils' 'leveldb' 'libaio' - 'libatomic_ops' 'libedit' 'libsystemd' 'libutil-linux' 'libxml2' 'lsb-release' - 'lz4' 'ncurses' 'nss' 'parted' 'pcre' 'procps-ng' 'python-cherrypy' - 'python-jinja' 'python-nose' 'python-pecan' 'python-pip' 'python-bcrypt' - 'python-prettytable' 'python-pyopenssl' 'python-setuptools' 'python-routes' - 'python-sphinx' 'python-tox' 'python-virtualenv' 'python-werkzeug' 'sed' - 'snappy' 'socat' 'systemd' 'valgrind' 'xfsprogs' 'xmlstarlet' 'yasm' - 'zlib' 'zstd' 'cunit' 'oath-toolkit' 'fontconfig') -options=('emptydirs') -source=("https://download.ceph.com/tarballs/${pkgbase}-${pkgver}.tar.gz" - 'ceph.sysusers' - 'boost-1.67.patch' - 'remove-distro-version-detection.patch') -sha512sums=('1ce61fb75e331cca39aaa8c0498bbb3cb874edb22ea45a4c2d82171b5e0c7c4ab2b081674b77177d5e612a0efdfa01de10a4becc4a7ee0eed1b2b3d358a72dc1' - '4354001c1abd9a0c385ba7bd529e3638fb6660b6a88d4e49706d4ac21c81b8e829303a20fb5445730bdac18c4865efb10bc809c1cd56d743c12aa9a52e160049' - 'b886c3f2b2a2b32d4033225b5f28cef98ca96e3f4fe2d04cfdbdb3141bbefd81895284abe9c9b75dcad156d54a93dc938bd8d9a45056b4de12855bbbdf0870ca' - '02c9e8fd3c23fb4c9c4c576ee6d06e8525ca31decfd964fb7231e73c98fe2987a483dda680969752186f0918f47d9af4fb09a4901e5319077f45d870906716da') - -prepare() { - cd "${srcdir}/${pkgbase}-${pkgver}" - # apply patch from the source array (should be a pacman feature) - local filename - for filename in "${source[@]}"; do - if [[ "$filename" =~ \.patch$ ]]; then - msg2 "Applying patch ${filename##*/}" - patch -p1 -N -i "$srcdir/${filename##*/}" - fi - done - - # remove tests that require root privileges - rm src/test/cli/ceph-authtool/cap*.t - - # remove broken tests - rm src/test/cli/crushtool/build.t - rm -rf qa/btrfs - rm src/btrfs_ioc_test.c - - # patch version script - # TODO this is unclean - perl -0777 -i -pe 's/(LIBRADOS_[0-9.]+) .*\}/$1 \{\}/gs' src/librados/librados.map - sed -i 's/local/global/g' src/librados/librados.map - - # this test will try to perform btrfs operations when a btrfs mount - # is active on the build host, which will fail - if mount | grep 'type btrfs' &>/dev/null; then - sed -i '/run-tox-ceph-disk/d' src/test/CMakeLists.txt - fi - - # fix python interpreter -> python - #for file in \ - # src/ceph-create-keys \ - # src/mount.fuse.ceph - #do - # sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python|' "${file}" - #done -} - -build() { - - echo "${srcdir}/${pkgbase}-${pkgver}" - cd "${srcdir}/${pkgbase}-${pkgver}" - - mkdir -p build - cd build - - # experimental in luminous: (and currently broken with boost 1.66) - # RADOSGW_BEAST_FRONTEND - # -> disabled - - cmake \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc \ - -DCMAKE_INSTALL_SBINDIR=/usr/bin \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib \ - -DMGR_PYTHON_VERSION=3.7 \ - -DENABLE_GIT_VERSION=ON \ - -DWITH_PYTHON3=ON \ - -DWITH_PYTHON2=OFF \ - -DWITH_BABELTRACE=OFF \ - -DWITH_CEPHFS=ON \ - -DWITH_FUSE=ON \ - -DWITH_LTTNG=OFF \ - -DWITH_LZ4=ON \ - -DWITH_MGR=ON \ - -DWITH_NSS=ON \ - -DPYTHON_INCLUDE_DIR=/usr/include/python3.7m \ - -DWITH_RADOSGW=ON \ - -DWITH_RADOSGW_BEAST_FRONTEND=ON \ - -DWITH_RDMA=OFF \ - -DWITH_SSL=ON \ - -DWITH_SYSTEM_BOOST=ON \ - -DWITH_SYSTEMD=ON \ - -DWITH_TESTS=OFF \ - -DWITH_XFS=ON \ - -DENABLE_SHARED=ON \ - -DWITH_MGR_DASHBOARD_FRONTEND=ON \ - .. - - make all -} - -check() { - cd "${srcdir}/${pkgbase}-${pkgver}/build" - - export CTEST_PARALLEL_LEVEL="$(nproc)" - make check - - # sometimes processes are not properly terminated... - for process in ceph-mon ceph-mgr ceph-osd; do - pkill -9 "$process" || true - done -} - -package_ceph-libs() { - depends=('boost-libs' 'curl' 'glibc' 'keyutils' 'leveldb' 'libaio' - 'libutil-linux' 'lz4' 'nss' 'python' 'xfsprogs' 'oath-toolkit') - - cd "${srcdir}/${pkgbase}-${pkgver}/build" - - # main install - make DESTDIR="$pkgdir" install - - # remove stuff that goes into the ceph package - rm -rf "${pkgdir}"/usr/lib/{ceph/mgr,systemd,sysusers.d,tmpfiles.d} - rm -rf "${pkgdir}/usr/share" - rm -rf "${pkgdir}/usr/sbin" - rm -rf "${pkgdir}/usr/bin" - rm -rf "${pkgdir}/etc" - rm -rf "${pkgdir}/var" -} - -package_ceph() { - depends=('ceph-libs' 'boost-libs' 'curl' 'fuse2' 'glibc' 'gperftools' - 'keyutils' 'leveldb' 'libaio' 'libsystemd' 'libutil-linux' 'python-routes' - 'lsb-release' 'ncurses' 'nss' 'python' 'python-cherrypy' 'python-bcrypt' - 'python-jinja' 'python-mako' 'python-pecan' 'python-prettytable' - 'python-pyopenssl' 'python-setuptools' 'python-pyjwt' - 'python-webob' 'python-werkzeug' 'snappy' 'xfsprogs' 'python-requests') - - cd "${srcdir}/${pkgbase}-${pkgver}/build" - - # main install - make DESTDIR="$pkgdir" install - - # remove stuff that is in the ceph-libs package - find "${pkgdir}/usr/lib" -maxdepth 1 -type f -delete - find "${pkgdir}/usr/lib" -maxdepth 1 -type l -delete - find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type f -delete - find "${pkgdir}/usr/lib/ceph" -maxdepth 1 -type l -delete - rm -rf "${pkgdir}"/usr/lib/{ceph/{compressor,crypto,erasure-code},python.7,rados-classes} - rm -rf "${pkgdir}/usr/include" - - # install tmpfiles.d and sysusers.d stuff - install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/systemd/ceph.tmpfiles.d" \ - "${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}.conf" - install -Dm644 "${srcdir}/ceph.sysusers" \ - "${pkgdir}/usr/lib/sysusers.d/${pkgbase}.conf" - install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/src/logrotate.conf" \ - "${pkgdir}/etc/logrotate.d/${pkgbase}" - - # remove debian init script - rm -rf "${pkgdir}/etc/init.d" - - # fix sbin dir (cmake opt seems to have no effect) - mv "${pkgdir}"/usr/sbin/* "${pkgdir}/usr/bin/" - rm -rf "${pkgdir}/usr/sbin" - - # remove drop.ceph.com ssh stuff - rm -f "${pkgdir}/usr/share/ceph/{{known_hosts,id_rsa}_drop.ceph.com,.pub}" - - # fix bash completions path - install -d -m 755 "${pkgdir}/usr/share/bash-completion" - mv "$pkgdir"/{etc/bash_completion.d,usr/share/bash-completion/completions} - - # fix EnvironmentFile location in systemd service files - sed -i 's|/etc/sysconfig/|/etc/conf.d/|g' "${pkgdir}"/usr/lib/systemd/system/*.service - - # prepare some paths and set correct permissions - install -D -d -m750 -o 0 -g 340 "${pkgdir}/etc/ceph" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/log/ceph" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-mds" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-osd" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/bootstrap-rgw" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mon" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/mgr" - install -D -d -m750 -o 340 -g 340 "${pkgdir}/var/lib/ceph/osd" -} - -# vim:set ts=2 sw=2 et: diff --git a/ceph/boost-1.67.patch b/ceph/boost-1.67.patch deleted file mode 100644 index 99c7d84..0000000 --- a/ceph/boost-1.67.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/test/librbd/test_mock_Journal.cc 2018-06-03 01:56:35.407273176 +0300 -+++ b/src/test/librbd/test_mock_Journal.cc 2018-06-03 01:56:29.800506081 +0300 -@@ -1,6 +1,8 @@ - // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- - // vim: ts=8 sw=2 smarttab - -+#define BOOST_BIND_NO_PLACEHOLDERS -+ - #include "test/librbd/test_mock_fixture.h" - #include "test/journal/mock/MockJournaler.h" - #include "test/librbd/test_support.h" diff --git a/ceph/ceph.sysusers b/ceph/ceph.sysusers deleted file mode 100644 index 0cf6e7a..0000000 --- a/ceph/ceph.sysusers +++ /dev/null @@ -1 +0,0 @@ -u ceph 340 - /run/ceph diff --git a/ceph/fix-or-disable-broken-tests.patch b/ceph/fix-or-disable-broken-tests.patch deleted file mode 100644 index 3bf8e9b..0000000 --- a/ceph/fix-or-disable-broken-tests.patch +++ /dev/null @@ -1,260 +0,0 @@ ---- a/src/test/CMakeLists.txt 2018-05-29 14:04:02.000000000 +0200 -+++ b/src/test/CMakeLists.txt 2018-06-04 13:35:28.440465053 +0200 -@@ -572,7 +572,6 @@ add_ceph_test(test_objectstore_memstore. - #add_ceph_test(test_pidfile.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_pidfile.sh) - - add_ceph_test(test_subman.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_subman.sh) --add_ceph_test(smoke.sh ${CMAKE_CURRENT_SOURCE_DIR}/smoke.sh) - add_ceph_test(unittest_bufferlist.sh ${CMAKE_SOURCE_DIR}/src/unittest_bufferlist.sh) - - add_test(NAME run-tox-ceph-disk COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-disk/run-tox.sh) ---- a/src/test/common/CMakeLists.txt 2018-05-29 14:04:02.000000000 +0200 -+++ b/src/test/common/CMakeLists.txt 2018-06-04 13:36:33.340014839 +0200 -@@ -41,13 +41,6 @@ add_executable(unittest_prioritized_queu - ) - add_ceph_unittest(unittest_prioritized_queue) - --# unittest_mclock_priority_queue --add_executable(unittest_mclock_priority_queue -- test_mclock_priority_queue.cc -- ) --add_ceph_unittest(unittest_mclock_priority_queue) --target_link_libraries(unittest_mclock_priority_queue ceph-common dmclock) -- - # unittest_str_map - add_executable(unittest_str_map - test_str_map.cc ---- a/src/test/encoding/CMakeLists.txt 2018-05-29 14:04:02.000000000 +0200 -+++ b/src/test/encoding/CMakeLists.txt 2018-06-04 13:37:22.693006351 +0200 -@@ -1,4 +1,3 @@ - # scripts --add_ceph_test(check-generated.sh ${CMAKE_CURRENT_SOURCE_DIR}/check-generated.sh) - add_ceph_test(readable.sh ${CMAKE_CURRENT_SOURCE_DIR}/readable.sh) - ---- a/src/test/run-cli-tests 2018-05-29 14:04:02.000000000 +0200 -+++ b/src/test/run-cli-tests 2018-06-04 13:38:12.529328276 +0200 -@@ -1,7 +1,7 @@ - #!/bin/sh - set -e - --if ! command -v virtualenv >/dev/null; then -+if ! command -v virtualenv2 >/dev/null; then - echo "$0: virtualenv not installed, skipping python-using tests." 1>&2 - exit 1 - fi -@@ -30,7 +30,7 @@ if [ ! -e "$CRAM_BIN" ]; then - # patched cram to support that. See upstream ticket at - # https://bitbucket.org/brodie/cram/issue/9/allow-read-only-directories-for-t - # -- tv@inktank.com -- virtualenv "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz" -+ virtualenv2 "$VENV" && $VENV/bin/pip --log "$VENV"/log.txt install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz" - fi - - SRCDIR_ABS="$(readlink -f "$SRCDIR")" ---- a/src/test/pybind/test_ceph_argparse.py 2017-09-26 18:27:07.000000000 +0200 -+++ b/src/test/pybind/test_ceph_argparse.py 2017-10-08 16:50:49.060831801 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/env nosetests -+#!/usr/bin/env nosetests2 - # -*- mode:python; tab-width:4; indent-tabs-mode:t; coding:utf-8 -*- - # vim: ts=4 sw=4 smarttab expandtab fileencoding=utf-8 - # ---- a/src/test/pybind/test_ceph_daemon.py 2017-09-26 18:27:07.000000000 +0200 -+++ b/src/test/pybind/test_ceph_daemon.py 2017-10-08 16:50:58.341131927 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/env nosetests -+#!/usr/bin/env nosetests2 - # -*- mode:python; tab-width:4; indent-tabs-mode:t -*- - # vim: ts=4 sw=4 smarttab expandtab - # ---- a/qa/standalone/ceph-helpers.sh 2018-05-29 14:04:02.000000000 +0200 -+++ b/qa/standalone/ceph-helpers.sh 2018-06-04 13:39:31.305450795 +0200 -@@ -147,7 +147,7 @@ function teardown() { - kill_daemons $dir KILL - if [ `uname` != FreeBSD ] \ - && [ $(stat -f -c '%T' .) == "btrfs" ]; then -- __teardown_btrfs $dir -+ true - fi - local cores="no" - local pattern="$(sysctl -n $KERNCORE)" -@@ -183,12 +183,7 @@ function teardown() { - } - - function __teardown_btrfs() { -- local btrfs_base_dir=$1 -- local btrfs_root=$(df -P . | tail -1 | awk '{print $NF}') -- local btrfs_dirs=$(cd $btrfs_base_dir; sudo btrfs subvolume list -t . | awk '/^[0-9]/ {print $4}' | grep "$btrfs_base_dir/$btrfs_dir") -- for subvolume in $btrfs_dirs; do -- sudo btrfs subvolume delete $btrfs_root/$subvolume -- done -+ true - } - - function test_teardown() { ---- a/src/ceph-disk/run-tox.sh 2018-05-29 14:04:02.000000000 +0200 -+++ b/src/ceph-disk/run-tox.sh 2018-06-04 13:40:15.601811858 +0200 -@@ -30,4 +30,4 @@ if [ -z $CEPH_BUILD_DIR ]; then - fi - - source ${CEPH_DISK_VIRTUALENV}/bin/activate --tox -c ${TOX_PATH} -+tox2 -c ${TOX_PATH} ---- a/qa/workunits/rbd/run_devstack_tempest.sh 2017-09-26 18:27:07.000000000 +0200 -+++ b/qa/workunits/rbd/run_devstack_tempest.sh 2017-10-10 18:53:33.564468674 +0200 -@@ -127,4 +127,4 @@ - chmod -R o+rx ${STACK_OPT_PATH}/devstack/files - - cd ${STACK_OPT_PATH}/tempest --sudo -H -u ${TEMPEST_USER} tox -eall-plugin -- '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)|(^cinder\.tests.tempest))' --concurrency=3 -+sudo -H -u ${TEMPEST_USER} tox2 -eall-plugin -- '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)|(^cinder\.tests.tempest))' --concurrency=3 ---- a/src/test/filestore/TestFileStore.cc 2017-09-26 18:27:07.000000000 +0200 -+++ b/src/test/filestore/TestFileStore.cc 2017-10-10 20:31:36.325983555 +0200 -@@ -36,13 +36,6 @@ - ASSERT_EQ(pm["filestore_backend"], "generic"); - } - #if defined(__linux__) -- { -- map pm; -- FileStore fs(g_ceph_context, "a", "b"); -- TestFileStore::create_backend(fs, BTRFS_SUPER_MAGIC); -- fs.collect_metadata(&pm); -- ASSERT_EQ(pm["filestore_backend"], "btrfs"); -- } - # ifdef HAVE_LIBXFS - { - map pm; ---- a/src/test/cli/osdmaptool/ceph.conf.withracks 2017-09-26 18:27:07.000000000 +0200 -+++ b/src/test/cli/osdmaptool/ceph.conf.withracks 2017-10-10 21:30:49.230389707 +0200 -@@ -42,8 +42,8 @@ - keyring = /mnt/osd.$id/keyring - osd data = /mnt/osd.$id - osd journal = /dev/disk/by-label/osd.$id.journal -- osd mkfs type = btrfs -- osd mount options btrfs = rw,noatime -+ osd mkfs type = xfs -+ osd mount options xfs = rw,noatime - devs = /dev/disk/by-label/osd.$id.data - ; temp sage - debug osd = 20 ---- a/src/spdk/test/iscsi_tgt/filesystem/filesystem.sh 2017-04-13 06:05:24.000000000 +0200 -+++ b/src/spdk/test/iscsi_tgt/filesystem/filesystem.sh 2017-10-10 21:33:09.084930640 +0200 -@@ -55,7 +55,7 @@ - parted -s /dev/$dev mkpart primary '0%' '100%' - sleep 1 - --for fstype in "ext4" "btrfs" "xfs"; do -+for fstype in "ext4" "xfs"; do - - if [ "$fstype" == "ext4" ]; then - mkfs.${fstype} -F /dev/${dev}1 ---- a/src/spdk/test/nvmf/filesystem/filesystem.sh 2017-04-13 06:05:24.000000000 +0200 -+++ b/src/spdk/test/nvmf/filesystem/filesystem.sh 2017-10-10 21:33:26.258820759 +0200 -@@ -49,7 +49,7 @@ - timing_exit parted - sleep 1 - -- for fstype in "ext4" "btrfs" "xfs"; do -+ for fstype in "ext4" "xfs"; do - timing_enter $fstype - if [ $fstype = ext4 ]; then - force=-F ---- a/src/ceph.conf.twoosds 2017-09-26 18:27:07.000000000 +0200 -+++ b/src/ceph.conf.twoosds 2017-10-10 21:34:13.160340506 +0200 -@@ -72,8 +72,8 @@ - ; osd journal = /mnt/osd$id/journal - ; osd journal size = 1000 - osd journal = "/dev/disk/by-path/pci-0000:05:02.0-scsi-6:0:0:0" -- osd mkfs type = btrfs -- osd mount options btrfs = "flushoncommit,usertrans" -+ osd mkfs type = xfs -+ osd mount options xfs = "flushoncommit,usertrans" - ; filestore max sync interval = 1 - - devs = "/dev/disk/by-path/pci-0000:05:01.0-scsi-2:0:0:0" ---- a/src/ceph-disk/tests/ceph-disk.sh 2017-09-26 18:27:07.000000000 +0200 -+++ b/src/ceph-disk/tests/ceph-disk.sh 2017-10-10 21:35:26.386044372 +0200 -@@ -74,8 +74,7 @@ - kill_daemons $dir - if [ `uname` != FreeBSD ] && \ - [ $(stat -f -c '%T' .) == "btrfs" ]; then -- rm -fr $dir/*/*db -- __teardown_btrfs $dir -+ true - fi - grep " $(pwd)/$dir/" < ${PROCDIR}/proc/mounts | while read mounted rest ; do - umount $mounted ---- a/qa/run_xfstests.sh 2017-09-26 18:27:07.000000000 +0200 -+++ b/qa/run_xfstests.sh 2017-10-10 22:18:49.663141392 +0200 -@@ -81,7 +81,7 @@ - arg_count 1 $# - - case "$1" in -- xfs|ext4|btrfs) return 0 ;; -+ xfs|ext4) return 0 ;; - *) return 1 ;; - esac - } -@@ -120,7 +120,7 @@ - echo " -c or --count" >&2 - echo " iteration count (1 or more)" >&2 - echo " -f or --fs-type" >&2 -- echo " one of: xfs, ext4, btrfs" >&2 -+ echo " one of: xfs, ext4" >&2 - echo " (default fs-type: xfs)" >&2 - echo " -r or --randomize" >&2 - echo " randomize test order" >&2 -@@ -132,7 +132,7 @@ - echo " name of file with list of tests to skip" >&2 - echo " tests:" >&2 - echo " list of test numbers, e.g.:" >&2 -- echo " generic/001 xfs/008 shared/032 btrfs/009" >&2 -+ echo " generic/001 xfs/008 shared/032" >&2 - echo " or possibly an xfstests test group, e.g.:" >&2 - echo " -g quick" >&2 - echo " (default tests: -g auto)" >&2 -@@ -235,7 +235,6 @@ - case "${FSTYP}" in - xfs) options="-f" ;; - ext4) options="-F" ;; -- btrfs) options="-f" ;; - esac - - "mkfs.${FSTYP}" ${options} "${dev}" || ---- a/qa/run_xfstests-obsolete.sh 2017-09-26 18:27:07.000000000 +0200 -+++ b/qa/run_xfstests-obsolete.sh 2017-10-10 22:19:27.027675395 +0200 -@@ -125,7 +125,7 @@ - arg_count 1 $# - - case "$1" in -- xfs|ext4|btrfs) return 0 ;; -+ xfs|ext4) return 0 ;; - *) return 1 ;; - esac - } -@@ -157,7 +157,7 @@ - echo " -c or --count" >&2 - echo " iteration count (1 or more)" >&2 - echo " -f or --fs-type" >&2 -- echo " one of: xfs, ext4, btrfs" >&2 -+ echo " one of: xfs, ext4" >&2 - echo " (default fs-type: xfs)" >&2 - echo " -s or --scratch-dev (REQUIRED)" >&2 - echo " name of device used for scratch filesystem" >&2 -@@ -262,7 +262,7 @@ - # Filesystem-specific mkfs options--set if not supplied - export XFS_MKFS_OPTIONS="${XFS_MKFS_OPTIONS:--f -l su=65536}" - export EXT4_MKFS_OPTIONS="${EXT4_MKFS_OPTIONS:--F}" --export BTRFS_MKFS_OPTION # No defaults -+unset BTRFS_MKFS_OPTION # No defaults - - XFSTESTS_DIR="/var/lib/xfstests" # Where the tests live - -@@ -348,7 +348,6 @@ - case "${FSTYP}" in - xfs) options="${XFS_MKFS_OPTIONS}" ;; - ext4) options="${EXT4_MKFS_OPTIONS}" ;; -- btrfs) options="${BTRFS_MKFS_OPTIONS}" ;; - esac - - "mkfs.${FSTYP}" ${options} "${dev}" || diff --git a/ceph/fix-sphinx-binary-name.patch b/ceph/fix-sphinx-binary-name.patch deleted file mode 100644 index 66e37df..0000000 --- a/ceph/fix-sphinx-binary-name.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt 2017-09-26 18:27:07.000000000 +0200 -+++ b/CMakeLists.txt 2017-10-06 14:10:11.032378659 +0200 -@@ -63,7 +63,7 @@ - option(WITH_MANPAGE "Build man pages." ON) - if(WITH_MANPAGE) - find_program(SPHINX_BUILD -- sphinx-build) -+ sphinx-build2) - if(NOT SPHINX_BUILD) - message(FATAL_ERROR "Can't find sphinx-build.") - endif(NOT SPHINX_BUILD) diff --git a/ceph/remove-distro-version-detection.patch b/ceph/remove-distro-version-detection.patch deleted file mode 100644 index df72305..0000000 --- a/ceph/remove-distro-version-detection.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/common/util.cc 2018-05-29 14:04:02.000000000 +0200 -+++ b/src/common/util.cc 2018-06-04 13:45:52.279495745 +0200 -@@ -96,7 +96,6 @@ static bool os_release_parse(map kvm = { - { "distro", "ID=" }, - { "distro_description", "PRETTY_NAME=" }, -- { "distro_version", "VERSION_ID=" } - }; - - FILE *fp = fopen("/etc/os-release", "r"); diff --git a/home-assistant/PKGBUILD b/home-assistant/PKGBUILD deleted file mode 100644 index faa2169..0000000 --- a/home-assistant/PKGBUILD +++ /dev/null @@ -1,94 +0,0 @@ -# Maintainer: Maxime Gauduin -# Contributor: Ethan Skinner -# Contributor: Grégoire Seux -# Contributor: Dean Galvin -# Contributor: NicoHood - -pkgname=home-assistant -pkgdesc='Open source home automation that puts local control and privacy first' -pkgver=2021.4.4 -pkgrel=1 -arch=(any) -url=https://home-assistant.io/ -license=(APACHE) -depends=( - gcc - python-aiohttp - python-aiohttp-cors - python-astral - python-async-timeout - python-attrs - python-bcrypt - python-certifi - python-ciso8601 - python-cryptography - python-defusedxml - python-httpx - python-jinja - python-mutagen - python-pillow - python-pip - python-pyjwt - python-pytz - python-requests - python-ruamel-yaml - python-slugify - python-sqlalchemy - python-voluptuous - python-voluptuous-serialize - python-yaml - python-yarl - python-zeroconf - python-awesomeversion -) -makedepends=( - git - python-setuptools -) -optdepends=( - 'net-tools: Nmap host discovery' - 'openzwave: Z-Wave integration' - 'python-dtlssocket: Ikea Tradfri integration' - 'python-lxml: Meteo France integration' -) -source=( - https://github.com/home-assistant/core/archive/refs/tags/$pkgver.tar.gz - home-assistant.service - home-assistant-astral2.2.patch -) -b2sums=('2956189043c794015a4e103fe16a93daaa6e5d4b4dcd9c464a77b14205ebf39d4d020a106a100931f4ba035d3081572360c6c28c8e8fca1453e44a3dcb73780e' - '0df7bbfdac09e37294ac27567e677855c72d13be3aefbd23e0a8f101cf2148302affbe9b6b586b893f77fc990f665d7b95f4916583680c06abd8f74b5cdf3da9' - '96260b3a42a1a5192ec4d701dbec0a1a6c2465337c3b450a22601144c2ef1a6bd616b8192ab100e36d7fa87f986464c723b3d136789132f78cb860980ea2f4bb') - -prepare() { - cd core-$pkgver - - patch -Np1 -i ../home-assistant-astral2.2.patch - - # get scapy from git to avoid Python issue 42580 - # sed 's|scapy==2.4.4|scapy @ git+https://github.com/secdev/scapy.git@46fa40fde4049ad7770481f8806c59640df24059|g' -i requirements_all.txt - # lift hard dep constraints, we'll deal with breaking changes ourselves - sed 's/==/>=/g' -i requirements.txt setup.py homeassistant/package_constraints.txt - # allow pip >= 20.3 to be used - sed 's/,<20.3//g' -i requirements.txt setup.py homeassistant/package_constraints.txt - # allow aiohttp >= 3.7.4 to be used - sed 's/3.7.4.post0/3.7.4/g' -i requirements.txt setup.py homeassistant/package_constraints.txt - # allow httpx >= 0.16.1 to be used - sed 's/0.17.1/0.16.1/g' -i requirements.txt setup.py homeassistant/package_constraints.txt -} - -build() { - cd core-$pkgver - - python setup.py build -} - -package() { - cd core-$pkgver - - python setup.py install --root="${pkgdir}" --prefix=/usr --optimize=1 --skip-build - - install -Dm 644 ../home-assistant.service -t "${pkgdir}"/usr/lib/systemd/system/ -} - -# vim: ts=2 sw=2 et: diff --git a/home-assistant/home-assistant-astral2.2.patch b/home-assistant/home-assistant-astral2.2.patch deleted file mode 100644 index 8b6373c..0000000 --- a/home-assistant/home-assistant-astral2.2.patch +++ /dev/null @@ -1,291 +0,0 @@ -From 9acf394811149c65087c7096c45c10cc0f73196a Mon Sep 17 00:00:00 2001 -From: Giovanni Harting <539@idlegandalf.com> -Date: Mon, 22 Mar 2021 18:35:14 +0100 -Subject: [PATCH] bump astral to 2.2 - ---- - homeassistant/components/moon/sensor.py | 5 +-- - homeassistant/components/sun/__init__.py | 20 +++++----- - homeassistant/helpers/sun.py | 50 +++++++++++++++--------- - homeassistant/package_constraints.txt | 2 +- - requirements.txt | 2 +- - setup.py | 2 +- - 6 files changed, 47 insertions(+), 34 deletions(-) - -diff --git a/homeassistant/components/moon/sensor.py b/homeassistant/components/moon/sensor.py -index 4b373469cc..6213e218d2 100644 ---- a/homeassistant/components/moon/sensor.py -+++ b/homeassistant/components/moon/sensor.py -@@ -1,5 +1,5 @@ - """Support for tracking the moon phases.""" --from astral import Astral -+from astral import moon - import voluptuous as vol - - from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity -@@ -48,7 +48,6 @@ class MoonSensor(SensorEntity): - """Initialize the moon sensor.""" - self._name = name - self._state = None -- self._astral = Astral() - - @property - def name(self): -@@ -87,4 +86,4 @@ class MoonSensor(SensorEntity): - async def async_update(self): - """Get the time and updates the states.""" - today = dt_util.as_local(dt_util.utcnow()).date() -- self._state = self._astral.moon_phase(today) -+ self._state = moon.phase(today) -diff --git a/homeassistant/components/sun/__init__.py b/homeassistant/components/sun/__init__.py -index dfe3b15c11..489eab6b5b 100644 ---- a/homeassistant/components/sun/__init__.py -+++ b/homeassistant/components/sun/__init__.py -@@ -92,6 +92,7 @@ class Sun(Entity): - """Initialize the sun.""" - self.hass = hass - self.location = None -+ self.elevation = 0.0 - self._state = self.next_rising = self.next_setting = None - self.next_dawn = self.next_dusk = None - self.next_midnight = self.next_noon = None -@@ -100,10 +101,11 @@ class Sun(Entity): - self._next_change = None - - def update_location(_event): -- location = get_astral_location(self.hass) -+ location, elevation = get_astral_location(self.hass) - if location == self.location: - return - self.location = location -+ self.elevation = elevation - self.update_events() - - update_location(None) -@@ -140,7 +142,7 @@ class Sun(Entity): - - def _check_event(self, utc_point_in_time, sun_event, before): - next_utc = get_location_astral_event_next( -- self.location, sun_event, utc_point_in_time -+ self.location, self.elevation, sun_event, utc_point_in_time - ) - if next_utc < self._next_change: - self._next_change = next_utc -@@ -169,7 +171,7 @@ class Sun(Entity): - ) - self.location.solar_depression = -10 - self._check_event(utc_point_in_time, "dawn", PHASE_SMALL_DAY) -- self.next_noon = self._check_event(utc_point_in_time, "solar_noon", None) -+ self.next_noon = self._check_event(utc_point_in_time, "noon", None) - self._check_event(utc_point_in_time, "dusk", PHASE_DAY) - self.next_setting = self._check_event( - utc_point_in_time, SUN_EVENT_SUNSET, PHASE_SMALL_DAY -@@ -180,9 +182,7 @@ class Sun(Entity): - self._check_event(utc_point_in_time, "dusk", PHASE_NAUTICAL_TWILIGHT) - self.location.solar_depression = "astronomical" - self._check_event(utc_point_in_time, "dusk", PHASE_ASTRONOMICAL_TWILIGHT) -- self.next_midnight = self._check_event( -- utc_point_in_time, "solar_midnight", None -- ) -+ self.next_midnight = self._check_event(utc_point_in_time, "midnight", None) - self.location.solar_depression = "civil" - - # if the event was solar midday or midnight, phase will now -@@ -190,7 +190,7 @@ class Sun(Entity): - # even in the day at the poles, so we can't rely on it. - # Need to calculate phase if next is noon or midnight - if self.phase is None: -- elevation = self.location.solar_elevation(self._next_change) -+ elevation = self.location.solar_elevation(self._next_change, self.elevation) - if elevation >= 10: - self.phase = PHASE_DAY - elif elevation >= 0: -@@ -222,9 +222,11 @@ class Sun(Entity): - """Calculate the position of the sun.""" - # Grab current time in case system clock changed since last time we ran. - utc_point_in_time = dt_util.utcnow() -- self.solar_azimuth = round(self.location.solar_azimuth(utc_point_in_time), 2) -+ self.solar_azimuth = round( -+ self.location.solar_azimuth(utc_point_in_time, self.elevation), 2 -+ ) - self.solar_elevation = round( -- self.location.solar_elevation(utc_point_in_time), 2 -+ self.location.solar_elevation(utc_point_in_time, self.elevation), 2 - ) - - _LOGGER.debug( -diff --git a/homeassistant/helpers/sun.py b/homeassistant/helpers/sun.py -index b3a37d238f..f9e9b0160f 100644 ---- a/homeassistant/helpers/sun.py -+++ b/homeassistant/helpers/sun.py -@@ -2,7 +2,7 @@ - from __future__ import annotations - - import datetime --from typing import TYPE_CHECKING -+from typing import TYPE_CHECKING, Optional, Tuple, Union - - from homeassistant.const import SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET - from homeassistant.core import HomeAssistant, callback -@@ -14,27 +14,32 @@ if TYPE_CHECKING: - - DATA_LOCATION_CACHE = "astral_location_cache" - -+ELEVATION_AGNOSTIC_EVENTS = ("noon", "midnight") -+ - - @callback - @bind_hass --def get_astral_location(hass: HomeAssistant) -> astral.Location: -+def get_astral_location( -+ hass: HomeAssistantType, -+) -> Tuple["astral.location.Location", "astral.Elevation"]: - """Get an astral location for the current Home Assistant configuration.""" -- from astral import Location # pylint: disable=import-outside-toplevel -+ from astral import LocationInfo # pylint: disable=import-outside-toplevel -+ from astral.location import Location # pylint: disable=import-outside-toplevel - -+ timezone = str(hass.config.time_zone) - latitude = hass.config.latitude - longitude = hass.config.longitude -- timezone = str(hass.config.time_zone) - elevation = hass.config.elevation -- info = ("", "", latitude, longitude, timezone, elevation) -+ info = ("", "", timezone, latitude, longitude) - - # Cache astral locations so they aren't recreated with the same args - if DATA_LOCATION_CACHE not in hass.data: - hass.data[DATA_LOCATION_CACHE] = {} - - if info not in hass.data[DATA_LOCATION_CACHE]: -- hass.data[DATA_LOCATION_CACHE][info] = Location(info) -+ hass.data[DATA_LOCATION_CACHE][info] = Location(LocationInfo(*info)) - -- return hass.data[DATA_LOCATION_CACHE][info] -+ return hass.data[DATA_LOCATION_CACHE][info], elevation - - - @callback -@@ -46,26 +51,31 @@ def get_astral_event_next( - offset: datetime.timedelta | None = None, - ) -> datetime.datetime: - """Calculate the next specified solar event.""" -- location = get_astral_location(hass) -- return get_location_astral_event_next(location, event, utc_point_in_time, offset) -+ location, elevation = get_astral_location(hass) -+ return get_location_astral_event_next( -+ location, elevation, event, utc_point_in_time, offset -+ ) - - - @callback - def get_location_astral_event_next( -- location: astral.Location, -+ location: "astral.location.Location", -+ elevation: "astral.Elevation", - event: str, - utc_point_in_time: datetime.datetime | None = None, - offset: datetime.timedelta | None = None, - ) -> datetime.datetime: - """Calculate the next specified solar event.""" -- from astral import AstralError # pylint: disable=import-outside-toplevel -- - if offset is None: - offset = datetime.timedelta() - - if utc_point_in_time is None: - utc_point_in_time = dt_util.utcnow() - -+ kwargs = {"local": False} -+ if event not in ELEVATION_AGNOSTIC_EVENTS: -+ kwargs["observer_elevation"] = elevation -+ - mod = -1 - while True: - try: -@@ -73,13 +83,13 @@ def get_location_astral_event_next( - getattr(location, event)( - dt_util.as_local(utc_point_in_time).date() - + datetime.timedelta(days=mod), -- local=False, -+ **kwargs, - ) - + offset - ) - if next_dt > utc_point_in_time: - return next_dt -- except AstralError: -+ except ValueError: - pass - mod += 1 - -@@ -92,9 +102,7 @@ def get_astral_event_date( - date: datetime.date | datetime.datetime | None = None, - ) -> datetime.datetime | None: - """Calculate the astral event time for the specified date.""" -- from astral import AstralError # pylint: disable=import-outside-toplevel -- -- location = get_astral_location(hass) -+ location, elevation = get_astral_location(hass) - - if date is None: - date = dt_util.now().date() -@@ -102,9 +110,13 @@ def get_astral_event_date( - if isinstance(date, datetime.datetime): - date = dt_util.as_local(date).date() - -+ kwargs = {"local": False} -+ if event not in ELEVATION_AGNOSTIC_EVENTS: -+ kwargs["observer_elevation"] = elevation -+ - try: -- return getattr(location, event)(date, local=False) # type: ignore -- except AstralError: -+ return getattr(location, event)(date, **kwargs) # type: ignore -+ except ValueError: - # Event never occurs for specified date. - return None - -diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt -index c5f0ccde05..1214c04db5 100644 ---- a/homeassistant/package_constraints.txt -+++ b/homeassistant/package_constraints.txt -@@ -3,8 +3,8 @@ PyNaCl==1.3.0 - aiodiscover==1.3.3 - aiohttp==3.7.4.post0 - aiohttp_cors==0.7.0 --astral==1.10.1 - async-upnp-client==0.16.0 -+astral==2.2 - async_timeout==3.0.1 - attrs==20.3.0 - awesomeversion==21.2.3 -diff --git a/requirements.txt b/requirements.txt -index 5f633eaeb6..a3facbe5ab 100644 ---- a/requirements.txt -+++ b/requirements.txt -@@ -2,7 +2,7 @@ - - # Home Assistant Core - aiohttp==3.7.4.post0 --astral==1.10.1 -+astral==2.2 - async_timeout==3.0.1 - attrs==20.3.0 - awesomeversion==21.2.3 -diff --git a/setup.py b/setup.py -index 56e5639148..f74a913cb8 100755 ---- a/setup.py -+++ b/setup.py -@@ -33,7 +33,7 @@ PACKAGES = find_packages(exclude=["tests", "tests.*"]) - - REQUIRES = [ - "aiohttp==3.7.4.post0", -- "astral==1.10.1", -+ "astral==2.2", - "async_timeout==3.0.1", - "attrs==20.3.0", - "awesomeversion==21.2.3", --- -2.31.1 - diff --git a/home-assistant/home-assistant.service b/home-assistant/home-assistant.service deleted file mode 100644 index a6ebf5f..0000000 --- a/home-assistant/home-assistant.service +++ /dev/null @@ -1,28 +0,0 @@ -[Unit] -Description=Home assistant -After=network.target - -[Service] -Restart=on-failure -User=hass -Group=hass -DynamicUser=true -LogsDirectory=hass -StateDirectory=hass - -ExecStart=/usr/bin/hass \ - --config /var/lib/hass/ \ - --log-file /var/log/hass/home-assistant.log \ - --log-rotate-days 1 \ - --runner -RestartForceExitStatus=100 - -AmbientCapabilities= -CapabilityBoundingSet= -LockPersonality=true -ProtectControlGroups=true -ProtectKernelModules=true -ProtectKernelTunables=true - -[Install] -WantedBy=multi-user.target diff --git a/lm4flash/PKGBUILD b/lm4flash/PKGBUILD deleted file mode 100644 index 5d99bd0..0000000 --- a/lm4flash/PKGBUILD +++ /dev/null @@ -1,26 +0,0 @@ -# Maintainer: Giovanni Harting <539@idlegandalf.com> - -pkgname=lm4flash -pkgver=0.1.3 -pkgrel=2 -pkgdesc="Firmware flashing tool for Stellaris Launchpad ICDI" -arch=('x86_64' 'i686') -url="https://github.com/utzig/lm4tools" -license=('GPL') -depends=('libusb') -source=("https://github.com/utzig/lm4tools/archive/v${pkgver}.zip") -sha256sums=('ec4eb6e254fb8d4eb78edfaf302a823e7a37a920a7b95b037956c4a511faa486') - -build() { - cd "${srcdir}/lm4tools-${pkgver}" - make -} - -package() { - cd "${srcdir}/lm4tools-${pkgver}" - - install -Dm755 "lm4flash/lm4flash" "${pkgdir}/usr/bin/lm4flash" - install -Dm755 "lmicdiusb/lmicdi" "${pkgdir}/usr/bin/lmicdi" -} - - diff --git a/xorg-server/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch b/xorg-server/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch deleted file mode 100644 index e72c31b..0000000 --- a/xorg-server/0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2f0dd1816d556eef8c4b691330d39f13e1ed93f0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michel=20D=C3=A4nzer?= -Date: Wed, 3 Jul 2019 11:53:56 +0200 -Subject: [PATCH] Revert "present/scmd: Check that the flip and screen pixmap - pitches match" - -This reverts commit ef91da2757050652c724f6e674e8b1acf5d0cb31. - -I thought this couldn't work under any circumstances, but I was wrong, -and drivers are already checking for cases that really cannot work. - -Fixes issue #839. ---- - present/present_scmd.c | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/present/present_scmd.c b/present/present_scmd.c -index 7c2f80997..8417d0925 100644 ---- a/present/present_scmd.c -+++ b/present/present_scmd.c -@@ -78,7 +78,7 @@ present_check_flip(RRCrtcPtr crtc, - PresentFlipReason *reason) - { - ScreenPtr screen = window->drawable.pScreen; -- PixmapPtr screen_pixmap, window_pixmap; -+ PixmapPtr window_pixmap; - WindowPtr root = screen->root; - present_screen_priv_ptr screen_priv = present_screen_priv(screen); - -@@ -99,9 +99,8 @@ present_check_flip(RRCrtcPtr crtc, - return FALSE; - - /* Make sure the window hasn't been redirected with Composite */ -- screen_pixmap = screen->GetScreenPixmap(screen); - window_pixmap = screen->GetWindowPixmap(window); -- if (window_pixmap != screen_pixmap && -+ if (window_pixmap != screen->GetScreenPixmap(screen) && - window_pixmap != screen_priv->flip_pixmap && - window_pixmap != present_flip_pending_pixmap(screen)) - return FALSE; -@@ -127,8 +126,7 @@ present_check_flip(RRCrtcPtr crtc, - window->drawable.x != pixmap->screen_x || window->drawable.y != pixmap->screen_y || - #endif - window->drawable.width != pixmap->drawable.width || -- window->drawable.height != pixmap->drawable.height || -- pixmap->devKind != screen_pixmap->devKind) { -+ window->drawable.height != pixmap->drawable.height) { - return FALSE; - } - --- -2.23.0 - diff --git a/xorg-server/0001-v2-FS-58644.patch b/xorg-server/0001-v2-FS-58644.patch deleted file mode 100644 index bb2e463..0000000 --- a/xorg-server/0001-v2-FS-58644.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 17584285d296acaa80f131ca0e8b75eff675962b Mon Sep 17 00:00:00 2001 -From: fafryd -Date: Sun, 20 May 2018 14:30:43 +0200 -Subject: [PATCH] v2 FS#58644 - ---- - hw/xfree86/common/meson.build | 13 +++++++++++++ - hw/xfree86/meson.build | 12 +++++++----- - 2 files changed, 20 insertions(+), 5 deletions(-) - -diff --git a/hw/xfree86/common/meson.build b/hw/xfree86/common/meson.build -index 514999ff6..0eff6e488 100644 ---- a/hw/xfree86/common/meson.build -+++ b/hw/xfree86/common/meson.build -@@ -1,3 +1,16 @@ -+if get_option('suid_wrapper') -+ x_sh = configure_file( -+ input: '../Xorg.sh.in', -+ output: 'Xorg', -+ configuration: conf_data, -+ ) -+ install_data( -+ x_sh, -+ install_mode: 'rwxr-xr-x', -+ install_dir: join_paths(get_option('prefix'), get_option('bindir')), -+ ) -+endif -+ - srcs_xorg_common = [ - 'xf86fbBus.c', - 'xf86noBus.c', -diff --git a/hw/xfree86/meson.build b/hw/xfree86/meson.build -index cacf56d4c..d1295d404 100644 ---- a/hw/xfree86/meson.build -+++ b/hw/xfree86/meson.build -@@ -145,11 +145,13 @@ if get_option('suid_wrapper') - install_dir: get_option('libexecdir'), - # install_mode: ['r-sr-xr-x', 0, 0], - ) -- configure_file( -- input: 'Xorg.sh.in', -- output: 'Xorg', -- configuration: conf_data, -- install_dir: join_paths(get_option('prefix'), get_option('bindir')), -+ meson.add_install_script( -+ 'sh', '-c', -+ 'chmod u+s @0@@1@/@2@'.format( -+ '${DESTDIR}', -+ join_paths(get_option('prefix'), get_option('libexecdir')), -+ 'Xorg.wrap' -+ ) - ) - endif - --- -2.17.0 - diff --git a/xorg-server/0002-fix-libshadow-2.patch b/xorg-server/0002-fix-libshadow-2.patch deleted file mode 100644 index 8f6834d..0000000 --- a/xorg-server/0002-fix-libshadow-2.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9ed4ae9cf207360000742c09007a32ad144b52db Mon Sep 17 00:00:00 2001 -From: fafryd -Date: Fri, 25 May 2018 20:17:35 +0200 -Subject: [PATCH] fix libshadow - ---- - hw/xfree86/dixmods/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hw/xfree86/dixmods/meson.build b/hw/xfree86/dixmods/meson.build -index 835d23215..6bd8029b6 100644 ---- a/hw/xfree86/dixmods/meson.build -+++ b/hw/xfree86/dixmods/meson.build -@@ -38,6 +38,7 @@ shared_module( - - install: true, - install_dir: module_dir, -+ install_rpath: '$ORIGIN/./', - ) - - if build_glx --- -2.17.0 - diff --git a/xorg-server/PKGBUILD b/xorg-server/PKGBUILD deleted file mode 100644 index b38702e..0000000 --- a/xorg-server/PKGBUILD +++ /dev/null @@ -1,237 +0,0 @@ -# Maintainer: AndyRTR -# Maintainer: Jan de Groot - -pkgbase=xorg-server -pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' - 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.20.5 -pkgrel=4.1 -arch=('x86_64') -license=('custom') -groups=('xorg') -url="https://xorg.freedesktop.org" -makedepends=('xorgproto' 'pixman' 'libx11' 'mesa' 'mesa-libgl' 'xtrans' - 'libxkbfile' 'libxfont2' 'libpciaccess' 'libxv' - 'libxmu' 'libxrender' 'libxi' 'libxaw' 'libdmx' 'libxtst' 'libxres' - 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'libepoxy' - 'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' - 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'egl-wayland' 'meson') # 'git') -source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig} - xserver-autobind-hotplug.patch - 0001-v2-FS-58644.patch - 0002-fix-libshadow-2.patch - 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch - glvnd.patch - xvfb-run # with updates from FC master - xvfb-run.1 - https://gitlab.freedesktop.org/xorg/xserver/commit/{7f962c70,37a36a6b,8b67ec7c,56c0a71f,b4231d69}.diff - ) -validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C' - 'C383B778255613DFDB409D91DB221A6900000011' - 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3' - '995ED5C8A6138EB0961F18474C09DD83CAAA50B2') -sha512sums=('625f0626b122cf95600abe382c3217348999357a0e2d2443092f1b67cff1c98d7ef09303884ceaeac181e0555dc56b0d4d44bda45cc464dac2d9a50c5b32d631' - 'SKIP' - 'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22' - '74e1aa0c101e42f0f25349d305641873b3a79ab3b9bb2d4ed68ba8e392b4db2701fcbc35826531ee2667d3ee55673e4b4fecc2a9f088141af29ceb400f72f363' - '0c7f7e43a2ba2372509f4a35e33a8a87a2e631c7e630c9c7c67ecaad00453b52c31d9dc26d1852ecd2fe1cb8c02cb716c1f39a4723473c38a0ef6e559bead271' - 'd60662f4eefeb64a034563cbfc36167466e0f4b0357d996bdb3462de14b2936420414e3527defe72af781d9fe9757e7486a43f952d8b7740b08815bc5df7b28f' - '0cdb9972af7fb215f0f2a7677cf05f0a35b7227a2953cb68a59d9947a02f6f1c128a080cf3e28d6c6295fc24d673cb258e29d6a976b8c924f73a797e5188452a' - '55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6' - 'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22' - '85cde8ca13453ec84de6a70a96847e395fed73f9dd646d7c4a44fda71650cc7a7bee1c18befb6a014d93aafe7f72a1f4dcb3f7971c7304dbf2d46a3cc7440fb8' - '50b8c8916484ae57ffdd0b4b8212370b77d9781f7cc56ccb76961799adb9871faff0744747318689c62553db468baa02425b26e214a7f5f05d76639eb31b2290' - '98bf35bf345cc73c5316e3a63a021d273f5a7eab52288e6e10648377f3f788f142c550aef75cea50f3db7d8443df337d70fa1e89dd3c3ab837530996e1c26389' - '7670f7c481ebf930acbe5777b8e7fdbd25bc95437916048f5aacd93d41cc39a79230e2f52b500009af7451a48392f82427885a0837a5047a358046b905dbb734' - 'bd3730f710767f7216825446ce27ac6fdb49ab7d9a9b5aaf7531322812d45aacd32bcbb6ac4f38160dcf1cba742354aa8918635da79964df87955b1395862a98') - -prepare() { - cd "${pkgbase}-${pkgver}" - - # patch from Fedora, not yet merged - patch -Np1 -i ../xserver-autobind-hotplug.patch - - # Fix rootless xorg - FS#58644 - # https://bugs.freedesktop.org/show_bug.cgi?id=106588 - patch -Np1 -i ../0001-v2-FS-58644.patch - - # Fix libshadow.so: libfb.so => not found - FS#58731 - # https://bugs.freedesktop.org/show_bug.cgi?id=106656 - patch -Np1 -i ../0002-fix-libshadow-2.patch - - # fix FS#62973 - merged upstream - patch -Np1 -i ../0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch - - # fix building with libglvnd - partially merged upstream - FS#64228 - patch -Np1 -i ../glvnd.patch - - # PRIME offloading patches, see http://download.nvidia.com/XFree86/Linux-x86_64/435.21/README/primerenderoffload.html - patch -Np1 -i ../7f962c70.diff - patch -Np1 -i ../37a36a6b.diff - patch -Np1 -i ../8b67ec7c.diff - patch -Np1 -i ../56c0a71f.diff - patch -Np1 -i ../b4231d69.diff -} - -build() { - # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf - # With them, module fail to load with undefined symbol. - # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845 - export CFLAGS=${CFLAGS/-fno-plt} - export CXXFLAGS=${CXXFLAGS/-fno-plt} - export LDFLAGS=${LDFLAGS/,-z,now} - - arch-meson ${pkgbase}-$pkgver build \ - -D os_vendor="Arch Linux" \ - -D ipv6=true \ - -D dmx=true \ - -D xvfb=true \ - -D xnest=true \ - -D xcsecurity=true \ - -D xorg=true \ - -D xephyr=true \ - -D xwayland=true \ - -D xwayland_eglstream=true \ - -D glamor=true \ - -D udev=true \ - -D systemd_logind=true \ - -D suid_wrapper=true \ - -D xkb_dir=/usr/share/X11/xkb \ - -D xkb_output_dir=/var/lib/xkb - - # Print config - meson configure build - ninja -C build - - # fake installation to be seperated into packages - DESTDIR="${srcdir}/fakeinstall" ninja -C build install -} - -_install() { - local src f dir - for src; do - f="${src#fakeinstall/}" - dir="${pkgdir}/${f%/*}" - install -m755 -d "${dir}" - mv -v "${src}" "${dir}/" - done -} - -package_xorg-server-common() { - pkgdesc="Xorg server common files" - depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap) - - _install fakeinstall/usr/lib/xorg/protocol.txt - _install fakeinstall/usr/share/man/man1/Xserver.1 - - install -m644 -Dt "${pkgdir}/var/lib/xkb/" "${pkgbase}-${pkgver}"/xkb/README.compiled - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server() { - pkgdesc="Xorg X server" - depends=(libepoxy libxfont2 pixman xorg-server-common libunwind - dbus libgl xf86-input-libinput nettle - libpciaccess libdrm libxshmfence) # FS#52949 - - # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on - # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg - provides=('X-ABI-VIDEODRV_VERSION=24.0' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server') - conflicts=('nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting') - replaces=('glamor-egl' 'xf86-video-modesetting') - install=xorg-server.install - - _install fakeinstall/usr/bin/{Xorg,cvt,gtf} - ln -s /usr/bin/Xorg "${pkgdir}/usr/bin/X" - _install fakeinstall/usr/lib/Xorg{,.wrap} - _install fakeinstall/usr/lib/xorg/modules/* - _install fakeinstall/usr/share/X11/xorg.conf.d/10-quirks.conf - _install fakeinstall/usr/share/man/man1/{Xorg,Xorg.wrap,cvt,gtf}.1 - _install fakeinstall/usr/share/man/man4/{exa,fbdevhw,modesetting}.4 - _install fakeinstall/usr/share/man/man5/{Xwrapper.config,xorg.conf,xorg.conf.d}.5 - - # distro specific files must be installed in /usr/share/X11/xorg.conf.d - install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server-xephyr() { - pkgdesc="A nested X server that runs as an X application" - depends=(libxfont2 libgl libepoxy libunwind systemd-libs libxv pixman xorg-server-common - xcb-util-image xcb-util-renderutil xcb-util-wm xcb-util-keysyms - nettle libtirpc) - - _install fakeinstall/usr/bin/Xephyr - _install fakeinstall/usr/share/man/man1/Xephyr.1 - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server-xvfb() { - pkgdesc="Virtual framebuffer X server" - depends=(libxfont2 libunwind pixman xorg-server-common xorg-xauth libgl nettle) - - _install fakeinstall/usr/bin/Xvfb - _install fakeinstall/usr/share/man/man1/Xvfb.1 - - install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/" - install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/" # outda - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server-xnest() { - pkgdesc="A nested X server that runs as an X application" - depends=(libxfont2 libxext pixman xorg-server-common nettle libtirpc) - - _install fakeinstall/usr/bin/Xnest - _install fakeinstall/usr/share/man/man1/Xnest.1 - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server-xdmx() { - pkgdesc="Distributed Multihead X Server and utilities" - depends=(libxfont2 libxi libxaw libxrender libdmx libxfixes - pixman xorg-server-common nettle) - - _install fakeinstall/usr/bin/{Xdmx,dmx*,vdltodmx,xdmxconfig} - _install fakeinstall/usr/share/man/man1/{Xdmx,dmxtodmx,vdltodmx,xdmxconfig}.1 - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server-xwayland() { - pkgdesc="run X clients under wayland" - depends=(libxfont2 libepoxy libunwind systemd-libs libgl pixman xorg-server-common - nettle libtirpc) - - _install fakeinstall/usr/bin/Xwayland - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING -} - -package_xorg-server-devel() { - pkgdesc="Development files for the X.Org X server" - depends=('xorgproto' 'mesa' 'libpciaccess' - # not technically required but almost every Xorg pkg needs it to build - 'xorg-util-macros') - - _install fakeinstall/usr/include/xorg/* - _install fakeinstall/usr/lib/pkgconfig/xorg-server.pc - _install fakeinstall/usr/share/aclocal/xorg-server.m4 - - # license - install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING - - # make sure there are no files left to install - find fakeinstall -depth -print0 | xargs -0 rmdir -} diff --git a/xorg-server/glvnd.patch b/xorg-server/glvnd.patch deleted file mode 100644 index 74f872f..0000000 --- a/xorg-server/glvnd.patch +++ /dev/null @@ -1,181 +0,0 @@ -From e6ef2b12404dfec7f23592a3524d2a63d9d25802 Mon Sep 17 00:00:00 2001 -From: Marvin Schmidt -Date: Tue, 24 Sep 2019 09:58:43 +0200 -Subject: [PATCH] build: glx: Lower gl version to work with libglvnd - -When using mesa with libglvnd support, mesa will no longer install the -gl, glx, egl pkg-config files but instead let libglvnd provide them. -libglvnd maintainers decided to change the versioning as it was -mesa-specific previously. Now the libraries have versions of the API -they expose[1]. -This causes problems when building the X server: - - checking for glproto >= 1.4.17 gl >= 9.2.0... no - configure: error: Package requirements (glproto >= 1.4.17 gl >= 9.2.0) were not met: - - Requested 'gl >= 9.2.0' but version of gl is 1.2 - -Lower the version requirement to 1.2 to allow building against libglvnd -provided libraries - -[1] https://github.com/NVIDIA/libglvnd/commit/0dfaea2bcb7cdcc785f95e244223bd004a2d7fba ---- - configure.ac | 4 ++-- - glx/meson.build | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 03c2e367c..969090b94 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -760,7 +760,7 @@ LIBDRI="dri >= 7.8.0" - LIBDRM="libdrm >= 2.4.89" - LIBEGL="egl" - LIBGBM="gbm >= 10.2.0" --LIBGL="gl >= 7.1.0" -+LIBGL="gl >= 1.2" - LIBXEXT="xext >= 1.0.99.4" - LIBXFONT="xfont2 >= 2.0.0" - LIBXI="xi >= 1.2.99.1" -@@ -1115,7 +1115,7 @@ case "$DRI2,$HAVE_DRI2PROTO" in - yes,yes | auto,yes) - AC_DEFINE(DRI2, 1, [Build DRI2 extension]) - DRI2=yes -- LIBGL="gl >= 9.2.0" -+ LIBGL="gl >= 1.2" - SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $DRI2PROTO" - ;; - esac -diff --git a/glx/meson.build b/glx/meson.build -index 7f9e549f0..745814336 100644 ---- a/glx/meson.build -+++ b/glx/meson.build -@@ -39,7 +39,7 @@ if build_glx - common_dep, - dl_dep, - dependency('glproto', version: '>= 1.4.17'), -- dependency('gl', version: '>= 9.2.0'), -+ dependency('gl', version: '>= 1.2'), - ], - c_args: [ - glx_align64, --- -2.23.0 - -From c7486613b0dc586f93f6ba293d9b55c69995b05c Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Wed, 9 Oct 2019 15:17:47 -0400 -Subject: [PATCH] meson: Fix another reference to "gl" 9.2.0 - -Previous commit e6ef2b12 missed a spot. ---- - glx/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glx/meson.build b/glx/meson.build -index 745814336..d7a2aa468 100644 ---- a/glx/meson.build -+++ b/glx/meson.build -@@ -74,7 +74,7 @@ if build_glx - common_dep, - dl_dep, - dependency('glproto', version: '>= 1.4.17'), -- dependency('gl', version: '>= 9.2.0'), -+ dependency('gl', version: '>= 1.2.0'), - ], - ) - --- -2.23.0 - -From 3340ddf37743fdf197dfc16a97107435ff53c6e4 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Wed, 9 Oct 2019 16:03:17 -0400 -Subject: [PATCH] meson: Apparently 1.2 is < 1.2.0 - -Siiiigh. ---- - glx/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glx/meson.build b/glx/meson.build -index d7a2aa468..1140522f6 100644 ---- a/glx/meson.build -+++ b/glx/meson.build -@@ -74,7 +74,7 @@ if build_glx - common_dep, - dl_dep, - dependency('glproto', version: '>= 1.4.17'), -- dependency('gl', version: '>= 1.2.0'), -+ dependency('gl', version: '>= 1.2'), - ], - ) - --- -2.23.0 - -diff --git a/glamor/glamor_egl.h b/glamor/glamor_egl.h -index 2f7566b24..af1c707d2 100644 ---- a/glamor/glamor_egl.h -+++ b/glamor/glamor_egl.h -@@ -27,7 +27,7 @@ - #ifndef GLAMOR_EGL_H - #define GLAMOR_EGL_H - --#define MESA_EGL_NO_X11_HEADERS -+#define EGL_NO_X11 - #include - #include - #include -diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h -index 7d9a7d4fb..bcdaf4040 100644 ---- a/glamor/glamor_priv.h -+++ b/glamor/glamor_priv.h -@@ -39,7 +39,7 @@ - - #include - #ifdef GLAMOR_HAS_GBM --#define MESA_EGL_NO_X11_HEADERS -+#define EGL_NO_X11 - #include - #endif - -diff --git a/hw/xwayland/xwayland-glamor-eglstream.c b/hw/xwayland/xwayland-glamor-eglstream.c -index c62c0d2ac..e665b963e 100644 ---- a/hw/xwayland/xwayland-glamor-eglstream.c -+++ b/hw/xwayland/xwayland-glamor-eglstream.c -@@ -32,7 +32,7 @@ - #include "wayland-eglstream-client-protocol.h" - #include "wayland-eglstream-controller-client-protocol.h" - --#define MESA_EGL_NO_X11_HEADERS -+#define EGL_NO_X11 - #include - #include - #include -diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c -index a211e0915..e28b65078 100644 ---- a/hw/xwayland/xwayland-glamor-gbm.c -+++ b/hw/xwayland/xwayland-glamor-gbm.c -@@ -35,7 +35,7 @@ - #include - #include - --#define MESA_EGL_NO_X11_HEADERS -+#define EGL_NO_X11 - #include - #include - -diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c -index 7ea6def61..587ef5ed0 100644 ---- a/hw/xwayland/xwayland-glamor.c -+++ b/hw/xwayland/xwayland-glamor.c -@@ -25,7 +25,7 @@ - - #include "xwayland.h" - --#define MESA_EGL_NO_X11_HEADERS -+#define EGL_NO_X11 - #include - - #include diff --git a/xorg-server/xorg-server.install b/xorg-server/xorg-server.install deleted file mode 100644 index 46bf5a9..0000000 --- a/xorg-server/xorg-server.install +++ /dev/null @@ -1,18 +0,0 @@ -post_upgrade() { - if (( $(vercmp $2 1.16.0-3) < 0 )); then - post_install - fi -} - -post_install() { - cat <>> xorg-server has now the ability to run without root rights with - the help of systemd-logind. xserver will fail to run if not launched - from the same virtual terminal as was used to log in. - Without root rights, log files will be in ~/.local/share/xorg/ directory. - - Old behavior can be restored through Xorg.wrap config file. - See Xorg.wrap man page (man xorg.wrap). -MSG -} - diff --git a/xorg-server/xserver-autobind-hotplug.patch b/xorg-server/xserver-autobind-hotplug.patch deleted file mode 100644 index 86b96a2..0000000 --- a/xorg-server/xserver-autobind-hotplug.patch +++ /dev/null @@ -1,293 +0,0 @@ -From 471289fa1dc359555ceed6302f7d9605ab6be3ea Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Mon, 2 Apr 2018 16:49:02 -0400 -Subject: [PATCH] autobind GPUs to the screen - -This is a modified version of a patch we've been carry-ing in Fedora and -RHEL for years now. This patch automatically adds secondary GPUs to the -master as output sink / offload source making e.g. the use of -slave-outputs just work, with requiring the user to manually run -"xrandr --setprovideroutputsource" before he can hookup an external -monitor to his hybrid graphics laptop. - -There is one problem with this patch, which is why it was not upstreamed -before. What to do when a secondary GPU gets detected really is a policy -decission (e.g. one may want to autobind PCI GPUs but not USB ones) and -as such should be under control of the Desktop Environment. - -Unconditionally adding autobinding support to the xserver will result -in races between the DE dealing with the hotplug of a secondary GPU -and the server itself dealing with it. - -However we've waited for years for any Desktop Environments to actually -start doing some sort of autoconfiguration of secondary GPUs and there -is still not a single DE dealing with this, so I believe that it is -time to upstream this now. - -To avoid potential future problems if any DEs get support for doing -secondary GPU configuration themselves, the new autobind functionality -is made optional. Since no DEs currently support doing this themselves it -is enabled by default. When DEs grow support for doing this themselves -they can disable the servers autobinding through the servers cmdline or a -xorg.conf snippet. - -Signed-off-by: Dave Airlie -[hdegoede@redhat.com: Make configurable, fix with nvidia, submit upstream] -Signed-off-by: Hans de Goede ---- - hw/xfree86/common/xf86Config.c | 19 +++++++++++++++++++ - hw/xfree86/common/xf86Globals.c | 2 ++ - hw/xfree86/common/xf86Init.c | 20 ++++++++++++++++++++ - hw/xfree86/common/xf86Priv.h | 1 + - hw/xfree86/common/xf86Privstr.h | 1 + - hw/xfree86/common/xf86platformBus.c | 4 ++++ - hw/xfree86/man/Xorg.man | 7 +++++++ - hw/xfree86/man/xorg.conf.man | 6 ++++++ - randr/randrstr.h | 3 +++ - randr/rrprovider.c | 22 ++++++++++++++++++++++ - 10 files changed, 85 insertions(+) - -diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index 2c1d335..d7d7c2e 100644 ---- a/hw/xfree86/common/xf86Config.c -+++ b/hw/xfree86/common/xf86Config.c -@@ -643,6 +643,7 @@ typedef enum { - FLAG_DRI2, - FLAG_USE_SIGIO, - FLAG_AUTO_ADD_GPU, -+ FLAG_AUTO_BIND_GPU, - FLAG_MAX_CLIENTS, - FLAG_IGLX, - FLAG_DEBUG, -@@ -699,6 +700,8 @@ static OptionInfoRec FlagOptions[] = { - {0}, FALSE}, - {FLAG_AUTO_ADD_GPU, "AutoAddGPU", OPTV_BOOLEAN, - {0}, FALSE}, -+ {FLAG_AUTO_BIND_GPU, "AutoBindGPU", OPTV_BOOLEAN, -+ {0}, FALSE}, - {FLAG_MAX_CLIENTS, "MaxClients", OPTV_INTEGER, - {0}, FALSE }, - {FLAG_IGLX, "IndirectGLX", OPTV_BOOLEAN, -@@ -779,6 +782,22 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) - } - xf86Msg(from, "%sutomatically adding GPU devices\n", - xf86Info.autoAddGPU ? "A" : "Not a"); -+ -+ if (xf86AutoBindGPUDisabled) { -+ xf86Info.autoBindGPU = FALSE; -+ from = X_CMDLINE; -+ } -+ else if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_BIND_GPU)) { -+ xf86GetOptValBool(FlagOptions, FLAG_AUTO_BIND_GPU, -+ &xf86Info.autoBindGPU); -+ from = X_CONFIG; -+ } -+ else { -+ from = X_DEFAULT; -+ } -+ xf86Msg(from, "%sutomatically binding GPU devices\n", -+ xf86Info.autoBindGPU ? "A" : "Not a"); -+ - /* - * Set things up based on the config file information. Some of these - * settings may be overridden later when the command line options are -diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c -index e890f05..7b27b4c 100644 ---- a/hw/xfree86/common/xf86Globals.c -+++ b/hw/xfree86/common/xf86Globals.c -@@ -131,6 +131,7 @@ xf86InfoRec xf86Info = { - #else - .autoAddGPU = FALSE, - #endif -+ .autoBindGPU = TRUE, - }; - - const char *xf86ConfigFile = NULL; -@@ -191,6 +192,7 @@ Bool xf86FlipPixels = FALSE; - Gamma xf86Gamma = { 0.0, 0.0, 0.0 }; - - Bool xf86AllowMouseOpenFail = FALSE; -+Bool xf86AutoBindGPUDisabled = FALSE; - - #ifdef XF86VIDMODE - Bool xf86VidModeDisabled = FALSE; -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index ea42ec9..ec255b6 100644 ---- a/hw/xfree86/common/xf86Init.c -+++ b/hw/xfree86/common/xf86Init.c -@@ -76,6 +76,7 @@ - #include "xf86DDC.h" - #include "xf86Xinput.h" - #include "xf86InPriv.h" -+#include "xf86Crtc.h" - #include "picturestr.h" - #include "randrstr.h" - #include "glxvndabi.h" -@@ -237,6 +238,19 @@ xf86PrivsElevated(void) - return PrivsElevated(); - } - -+static void -+xf86AutoConfigOutputDevices(void) -+{ -+ int i; -+ -+ if (!xf86Info.autoBindGPU) -+ return; -+ -+ for (i = 0; i < xf86NumGPUScreens; i++) -+ RRProviderAutoConfigGpuScreen(xf86ScrnToScreen(xf86GPUScreens[i]), -+ xf86ScrnToScreen(xf86Screens[0])); -+} -+ - static void - TrapSignals(void) - { -@@ -770,6 +784,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) - for (i = 0; i < xf86NumGPUScreens; i++) - AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); - -+ xf86AutoConfigOutputDevices(); -+ - xf86VGAarbiterWrapFunctions(); - if (sigio_blocked) - input_unlock(); -@@ -1278,6 +1294,10 @@ ddxProcessArgument(int argc, char **argv, int i) - xf86Info.iglxFrom = X_CMDLINE; - return 0; - } -+ if (!strcmp(argv[i], "-noautoBindGPU")) { -+ xf86AutoBindGPUDisabled = TRUE; -+ return 1; -+ } - - /* OS-specific processing */ - return xf86ProcessArgument(argc, argv, i); -diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h -index 4fe2b5f..6566622 100644 ---- a/hw/xfree86/common/xf86Priv.h -+++ b/hw/xfree86/common/xf86Priv.h -@@ -46,6 +46,7 @@ - extern _X_EXPORT const char *xf86ConfigFile; - extern _X_EXPORT const char *xf86ConfigDir; - extern _X_EXPORT Bool xf86AllowMouseOpenFail; -+extern _X_EXPORT Bool xf86AutoBindGPUDisabled; - - #ifdef XF86VIDMODE - extern _X_EXPORT Bool xf86VidModeDisabled; -diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h -index 21c2e1f..6c71863 100644 ---- a/hw/xfree86/common/xf86Privstr.h -+++ b/hw/xfree86/common/xf86Privstr.h -@@ -98,6 +98,7 @@ typedef struct { - - Bool autoAddGPU; - const char *debug; -+ Bool autoBindGPU; - } xf86InfoRec, *xf86InfoPtr; - - /* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */ -diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c -index cef47da..913a324 100644 ---- a/hw/xfree86/common/xf86platformBus.c -+++ b/hw/xfree86/common/xf86platformBus.c -@@ -49,6 +49,7 @@ - #include "Pci.h" - #include "xf86platformBus.h" - #include "xf86Config.h" -+#include "xf86Crtc.h" - - #include "randrstr.h" - int platformSlotClaimed; -@@ -665,6 +666,9 @@ xf86platformAddDevice(int index) - } - /* attach unbound to 0 protocol screen */ - AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); -+ if (xf86Info.autoBindGPU) -+ RRProviderAutoConfigGpuScreen(xf86ScrnToScreen(xf86GPUScreens[i]), -+ xf86ScrnToScreen(xf86Screens[0])); - - RRResourcesChanged(xf86Screens[0]->pScreen); - RRTellChanged(xf86Screens[0]->pScreen); -diff --git a/hw/xfree86/man/Xorg.man b/hw/xfree86/man/Xorg.man -index 13a9dc3..745f986 100644 ---- a/hw/xfree86/man/Xorg.man -+++ b/hw/xfree86/man/Xorg.man -@@ -283,6 +283,13 @@ is a comma separated list of directories to search for - server modules. This option is only available when the server is run - as root (i.e, with real-uid 0). - .TP 8 -+.B \-noautoBindGPU -+Disable automatically setting secondary GPUs up as output sinks and offload -+sources. This is equivalent to setting the -+.B AutoBindGPU -+xorg.conf(__filemansuffix__) file option. To -+.B false. -+.TP 8 - .B \-nosilk - Disable Silken Mouse support. - .TP 8 -diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man -index 9589262..8d51e06 100644 ---- a/hw/xfree86/man/xorg.conf.man -+++ b/hw/xfree86/man/xorg.conf.man -@@ -672,6 +672,12 @@ Enabled by default. - If this option is disabled, then no GPU devices will be added from the udev - backend. Enabled by default. (May need to be disabled to setup Xinerama). - .TP 7 -+.BI "Option \*qAutoBindGPU\*q \*q" boolean \*q -+If enabled then secondary GPUs will be automatically set up as output-sinks and -+offload-sources. Making e.g. laptop outputs connected only to the secondary -+GPU directly available for use without needing to run -+"xrandr --setprovideroutputsource". Enabled by default. -+.TP 7 - .BI "Option \*qLog\*q \*q" string \*q - This option controls whether the log is flushed and/or synced to disk after - each message. -diff --git a/randr/randrstr.h b/randr/randrstr.h -index f94174b..092d726 100644 ---- a/randr/randrstr.h -+++ b/randr/randrstr.h -@@ -1039,6 +1039,9 @@ RRProviderLookup(XID id, RRProviderPtr *provider_p); - extern _X_EXPORT void - RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider); - -+extern _X_EXPORT void -+RRProviderAutoConfigGpuScreen(ScreenPtr pScreen, ScreenPtr masterScreen); -+ - /* rrproviderproperty.c */ - - extern _X_EXPORT void -diff --git a/randr/rrprovider.c b/randr/rrprovider.c -index e4bc2bf..e04c18f 100644 ---- a/randr/rrprovider.c -+++ b/randr/rrprovider.c -@@ -485,3 +485,25 @@ RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider) - - WriteEventsToClient(client, 1, (xEvent *) &pe); - } -+ -+void -+RRProviderAutoConfigGpuScreen(ScreenPtr pScreen, ScreenPtr masterScreen) -+{ -+ rrScrPrivPtr pScrPriv = rrGetScrPriv(pScreen); -+ rrScrPrivPtr masterPriv = rrGetScrPriv(masterScreen); -+ RRProviderPtr provider = pScrPriv->provider; -+ RRProviderPtr master_provider = masterPriv->provider; -+ -+ if (!provider || !master_provider) -+ return; -+ -+ if ((provider->capabilities & RR_Capability_SinkOutput) && -+ (master_provider->capabilities & RR_Capability_SourceOutput)) { -+ pScrPriv->rrProviderSetOutputSource(pScreen, provider, master_provider); -+ RRInitPrimeSyncProps(pScreen); -+ } -+ -+ if ((provider->capabilities & RR_Capability_SourceOffload) && -+ (master_provider->capabilities & RR_Capability_SinkOffload)) -+ pScrPriv->rrProviderSetOffloadSink(pScreen, provider, master_provider); -+} --- -2.16.2 - diff --git a/xorg-server/xvfb-run b/xorg-server/xvfb-run deleted file mode 100644 index 9d088c1..0000000 --- a/xorg-server/xvfb-run +++ /dev/null @@ -1,200 +0,0 @@ -#!/bin/sh -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../xorg-server/xvfb-run.sh -# Copyright (C) 2005 The T2 SDE Project -# Copyright (C) XXXX - 2005 Debian -# -# More information can be found in the files COPYING and README. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. A copy of the -# GNU General Public License can be found in the file COPYING. -# --- T2-COPYRIGHT-NOTE-END --- - -# $Id$ -# from: http://necrotic.deadbeast.net/xsf/XFree86/trunk/debian/local/xvfb-run - -# This script starts an instance of Xvfb, the "fake" X server, runs a command -# with that server available, and kills the X server when done. The return -# value of the command becomes the return value of this script. -# -# If anyone is using this to build a Debian package, make sure the package -# Build-Depends on xvfb, xbase-clients, and xfonts-base. - -set -e - -PROGNAME=xvfb-run -SERVERNUM=99 -AUTHFILE= -ERRORFILE=/dev/null -STARTWAIT=3 -XVFBARGS="-screen 0 640x480x24" -LISTENTCP="-nolisten tcp" -XAUTHPROTO=. - -# Query the terminal to establish a default number of columns to use for -# displaying messages to the user. This is used only as a fallback in the event -# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the -# script is running, and this cannot, only being calculated once.) -DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true -if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then - DEFCOLUMNS=80 -fi - -# Display a message, wrapping lines at the terminal width. -message () { - echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} -} - -# Display an error message. -error () { - message "error: $*" >&2 -} - -# Display a usage message. -usage () { - if [ -n "$*" ]; then - message "usage error: $*" - fi - cat <&2 - exit 2 -fi - -if ! type xauth >/dev/null; then - error "xauth command not found" - exit 3 -fi - -# Set up the temp dir for the pid and X authorization file -XVFB_RUN_TMPDIR="$(mktemp --directory --tmpdir $PROGNAME.XXXXXX)" -# If the user did not specify an X authorization file to use, set up a temporary -# directory to house one. -if [ -z "$AUTHFILE" ]; then - AUTHFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" Xauthority.XXXXXX) -fi - -# Start Xvfb. -MCOOKIE=$(mcookie) - -if [ -z "$AUTO_DISPLAY" ]; then - # Old style using a pre-computed SERVERNUM - XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \ - 2>&1 & - XVFBPID=$! -else - # New style using Xvfb to provide a free display - PIDFILE=$(mktemp -p "$XVFB_RUN_TMPDIR" pid.XXXXXX) - SERVERNUM=$(XAUTHORITY=$AUTHFILE Xvfb -displayfd 1 $XVFBARGS $LISTENTCP \ - 2>"$ERRORFILE" & echo $! > $PIDFILE) - XVFBPID=$(cat $PIDFILE) -fi -sleep "$STARTWAIT" - -XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1 -add :$SERVERNUM $XAUTHPROTO $MCOOKIE -EOF - -# Start the command and save its exit status. -set +e -DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1 -RETVAL=$? -set -e - -# Kill Xvfb now that the command has exited. -kill $XVFBPID - -# Clean up. -XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >"$ERRORFILE" 2>&1 -if [ -n "$XVFB_RUN_TMPDIR" ]; then - if ! rm -r "$XVFB_RUN_TMPDIR"; then - error "problem while cleaning up temporary directory" - exit 5 - fi -fi - -# Return the executed command's exit status. -exit $RETVAL - -# vim:set ai et sts=4 sw=4 tw=80: diff --git a/xorg-server/xvfb-run.1 b/xorg-server/xvfb-run.1 deleted file mode 100644 index 137d3a1..0000000 --- a/xorg-server/xvfb-run.1 +++ /dev/null @@ -1,282 +0,0 @@ -.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $ -.\" -.\" Copyright 1998-2004 Branden Robinson . -.\" -.\" This is free software; you may redistribute it and/or modify -.\" it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2, -.\" or (at your option) any later version. -.\" -.\" This is distributed in the hope that it will be useful, but -.\" WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License with -.\" the Debian operating system, in /usr/share/common-licenses/GPL; if -.\" not, write to the Free Software Foundation, Inc., 59 Temple Place, -.\" Suite 330, Boston, MA 02111-1307 USA -.\" -.\" We need the URL macro from groff's www macro package, but also want -.\" things to work all right for people who don't have it. So we define -.\" our own URL macro and let the www macro package override it if it's -.\" available. -.de URL -\\$2 \(laURL: \\$1 \(ra\\$3 -.. -.if \n[.g] .mso www.tmac -.TH xvfb\-run 1 "2004\-11\-12" "Debian Project" -.SH NAME -xvfb\-run \- run specified X client or command in a virtual X server environment -.SH SYNOPSIS -.B xvfb\-run -[ -.I options -] -.I command -.SH DESCRIPTION -.B xvfb\-run -is a wrapper for the -.BR Xvfb (1x) -command which simplifies the task of running commands (typically an X -client, or a script containing a list of clients to be run) within a virtual -X server environment. -.PP -.B xvfb\-run -sets up an X authority file (or uses an existing user\-specified one), -writes a cookie to it (see -.BR xauth (1x)) -and then starts the -.B Xvfb -X server as a background process. -The process ID of -.B Xvfb -is stored for later use. -The specified -.I command -is then run using the X display corresponding to the -.B Xvfb -server -just started and the X authority file created earlier. -.PP -When the -.I command -exits, its status is saved, the -.B Xvfb -server is killed (using the process ID stored earlier), the X authority -cookie removed, and the authority file deleted (if the user did not specify -one to use). -.B xvfb\-run -then exits with the exit status of -.IR command . -.PP -.B xvfb\-run -requires the -.B xauth -command to function. -.SH OPTIONS -.TP -.B \-a\fR,\fB \-\-auto\-servernum -Try to get a free server number, starting at 99, or the argument to -.BR \-\-server\-num . -.TP -.BI \-e\ file \fR,\fB\ \-\-error\-file= file -Store output from -.B xauth -and -.B Xvfb -in -.IR file . -The default is -.IR /dev/null . -.TP -.BI \-f\ file \fR,\fB\ \-\-auth\-file= file -Store X authentication data in -.IR file . -By default, a temporary directory called -.IR xvfb\-run. PID -(where PID is the process ID of -.B xvfb\-run -itself) is created in the directory specified by the environment variable -.B TMPDIR -(or -.I /tmp -if that variable is null or unset), and the -.BR tempfile (1) -command is used to create a file in that temporary directory called -.IR Xauthority . -.TP -.B \-h\fR,\fB \-\-help -Display a usage message and exit. -.TP -.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber -Use -.I servernumber -as the server number (but see the -.B \-a\fR,\fB \-\-auto\-servernum -option above). -The default is 99. -.TP -.B \-l\fR,\fB \-\-listen\-tcp -Enable TCP port listening in the X server. -For security reasons (to avoid denial\-of\-service attacks or exploits), -TCP port listening is disabled by default. -.TP -.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname -Use -.I protocolname -as the X authority protocol to use. -The default is \(oq.\(cq, which -.B xauth -interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1. -.TP -.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments -Pass -.I arguments -to the -.B Xvfb -server. -Be careful to quote any whitespace characters that may occur within -.I arguments -to prevent them from regarded as separators for -.BR xvfb\-run 's -own arguments. -Also, note that specification of \(oq\-nolisten tcp\(cq in -.I arguments -may override the function of -.BR xvfb\-run 's -own -.B \-l\fR,\fB \-\-listen\-tcp -option, and that specification of the server number (e.g., \(oq:1\(cq) may -be ignored because of the way the X server parses its argument list. -Use the -.B xvfb\-run -option -.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber -to achieve the latter function. -The default is \(oq\-screen 0 640x480x8\(cq. -.TP -.BI \-w\ delay \fR,\fB\ \-\-wait= delay -Wait -.I delay -seconds after launching -.B Xvfb -before attempting to start the specified command. -The default is 3. -.SH ENVIRONMENT -.TP -.B COLUMNS -indicates the width of the terminal device in character cells. -This value is used for formatting diagnostic messages. -If not set, the terminal is queried using -.BR stty (1) -to determine its width. -If that fails, a value of \(oq80\(cq is assumed. -.TP -.B TMPDIR -specifies the directory in which to place -.BR xvfb\-run 's -temporary directory for storage of the X authority file; only used if the -.B \-f -or -.B \-\-auth\-file -options are not specified. -.SH "OUTPUT FILES" -.PP -Unless the -.B \-f -or -.B \-\-auth\-file -options are specified, a temporary -directory and file within it are created (and deleted) to store the X -authority cookies used by the -.B Xvfb -server and client(s) run under it. -See -.BR tempfile (1). -If \-f or \-\-auth\-file are used, then the specified X authority file is -only written to, not created or deleted (though -.B xauth -creates an authority file itself if told to use use that does not already -exist). -.PP -An error file with a user\-specified name is also created if the -.B \-e -or -.B \-\-error\-file -options are specifed; see above. -.SH "EXIT STATUS" -.B xvfb\-run -uses its exit status as well as output to standard error to communicate -diagnostics. -The exit status of \(oq1\(cq is not used, and should be interpreted as failure -of the specified command. -.TP -0 -.B xvfb\-run -only uses this exit status if the -.B \-h\fR,\fB \-\-help -option is given. -In all other situations, this may be interpreted as success of the specified -command. -.TP -2 -No command to run was specified. -.TP -3 -The -.B xauth -command is not available. -.TP -4 -The temporary directory that was going to be used already exists; since -.B xvfb\-run -produces a uniquely named directory, this may indicate an attempt by another -process on the system to exploit a temporary file race condition. -.TP -5 -A problem was encountered while cleaning up the temporary directory. -.TP -6 -A problem was encountered while using -.BR getopt (1) -to parse the command\-line arguments. -.SH EXAMPLES -.TP -.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo -runs the -.BR xlogo (1x) -demonstration client inside the -.B Xvfb -X server on the first available server number greater than or equal to 1. -.TP -.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces -runs the -.BR ico (1x) -demonstration client (and passes it the -.B \-faces -argument) inside the -.B Xvfb -X server, configured with a root window of 1024 by 768 pixels and a color -depth of 24 bits. -.PP -Note that the demo X clients used in the above examples will not exit on -their own, so they will have to be killed before -.B xvfb\-run -will exit. -.SH BUGS -See -.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" . -If you wish to report a bug in -.BR xvfb\-run , -please use the -.BR reportbug (1) -command. -.SH AUTHOR -.B xfvb\-run -was written by Branden Robinson and Jeff Licquia with sponsorship from -Progeny Linux Systems. -.SH "SEE ALSO" -.BR Xvfb (1x), -.BR xauth (1x) -.\" vim:set et tw=80: