diff options
Diffstat (limited to 'source')
27 files changed, 782 insertions, 266 deletions
diff --git a/source/a/shadow/adduser b/source/a/shadow/adduser index ce06aac5..482cb750 100644 --- a/source/a/shadow/adduser +++ b/source/a/shadow/adduser @@ -30,12 +30,14 @@ # Author : Stuart Winter <mozes@slackware.com> # Based on the original Slackware adduser by Hrvoje Dogan # with modifications by Patrick Volkerding -# Version: 1.15 +# Version: 1.16 ########################################################################## # Usage..: adduser [<new_user_name>] ########################################################################## # History # ########### +# v1.16 - 2018-07-22 +# * Added input group. <pjv> # v1.15 - 2012-09-13 # * Added scanner group, which may be required by third party drivers. # v1.14 - 2012-08-24 @@ -112,7 +114,7 @@ defhome=/home defshell=/bin/bash defchmod=711 # home dir permissions - may be preferable to use 701, however. defgroup=users -AGID="audio cdrom floppy plugdev video power netdev lp scanner" # additional groups for desktop users +AGID="audio cdrom floppy input lp netdev plugdev power scanner video" # additional groups for desktop users # Determine what the minimum UID is (for UID recycling) # (we ignore it if it's not at the beginning of the line (i.e. commented out with #)) diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild index 992944e8..d088c41d 100755 --- a/source/a/shadow/shadow.SlackBuild +++ b/source/a/shadow/shadow.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=shadow VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-4} +BUILD=${BUILD:-5} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6 index 8a993f5e..d71e3547 100644 --- a/source/a/sysvinit-scripts/scripts/rc.6 +++ b/source/a/sysvinit-scripts/scripts/rc.6 @@ -124,10 +124,10 @@ fi # Kill any processes (typically gam) that would otherwise prevent # unmounting NFS volumes: unset FUSER_DELAY -for dir in $(/bin/mount | grep 'type nfs ' | cut -d ' ' -f 3 ) ; do +for dir in $(/bin/mount | grep 'type nfs ' | sed -e 's|.* on ||g' | cut -d ' ' -f 1) ; do echo "Killing processes holding NFS mount $dir open..." # Background this to prevent fuser from also blocking shutdown: - /usr/bin/fuser -k -M -m $dir & + /usr/bin/fuser -k -M -m "$dir" & FUSER_DELAY=5 done # If fuser was run, let it have some delay: diff --git a/source/a/sysvinit-scripts/scripts/rc.K b/source/a/sysvinit-scripts/scripts/rc.K index 50b1702b..b8ed352d 100644 --- a/source/a/sysvinit-scripts/scripts/rc.K +++ b/source/a/sysvinit-scripts/scripts/rc.K @@ -60,10 +60,10 @@ fi # Kill any processes (typically gam) that would otherwise prevent # unmounting NFS volumes: unset FUSER_DELAY -for dir in $(/bin/mount | grep 'type nfs ' | cut -d ' ' -f 3 ) ; do +for dir in $(/bin/mount | grep 'type nfs ' | sed -e 's|.* on ||g' | cut -d ' ' -f 1) ; do echo "Killing processes holding NFS mount $dir open..." # Background this to prevent fuser from also blocking shutdown: - /usr/bin/fuser -k -M -m $dir & + /usr/bin/fuser -k -M -m "$dir" & FUSER_DELAY=5 done # If fuser was run, let it have some delay: diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild index 607212e4..a810b150 100755 --- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild +++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=sysvinit-scripts VERSION=${VERSION:-2.1} ARCH=noarch -BUILD=${BUILD:-13} +BUILD=${BUILD:-14} # If the variable PRINT_PACKAGE_NAME is set, then this script will report what # the name of the created package would be, and then exit. This information diff --git a/source/d/rust/rust.SlackBuild b/source/d/rust/rust.SlackBuild index 0ac1fa86..8cc0ceda 100755 --- a/source/d/rust/rust.SlackBuild +++ b/source/d/rust/rust.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=rust SRCNAM="${PKGNAM}c" -VERSION=${VERSION:-1.27.1} +VERSION=${VERSION:-1.27.2} BUILD=${BUILD:-1} # Set this to YES to build with the system LLVM, or NO to use the bundled LLVM. diff --git a/source/d/rust/rust.url b/source/d/rust/rust.url index 69c52983..0c411bc1 100644 --- a/source/d/rust/rust.url +++ b/source/d/rust/rust.url @@ -1,5 +1,5 @@ # Source code (repacked to .tar.xz): -lftpget https://static.rust-lang.org/dist/rustc-1.27.1-src.tar.gz +lftpget https://static.rust-lang.org/dist/rustc-1.27.2-src.tar.gz gzip -d rustc-*tar.gz plzip -n 6 -9 -v rustc-*tar diff --git a/source/d/subversion/slack-desc b/source/d/subversion/slack-desc index 6ffc63e7..de2ef477 100644 --- a/source/d/subversion/slack-desc +++ b/source/d/subversion/slack-desc @@ -14,6 +14,6 @@ subversion: log of who, when, and why changes occurred, similar to other such subversion: systems like CVS, RCS or SCCS. Subversion keeps all the information subversion: to permit extracting previous versions of those files at any time. subversion: -subversion: For more information about the Subversion project, visit: -subversion: http://subversion.apache.org +subversion: Homepage: https://subversion.apache.org +subversion: subversion: diff --git a/source/installer/ChangeLog.txt b/source/installer/ChangeLog.txt index 36039105..adc0fb7e 100644 --- a/source/installer/ChangeLog.txt +++ b/source/installer/ChangeLog.txt @@ -1,3 +1,7 @@ +Wed Jul 25 03:29:26 UTC 2018 + Use ter-v14v.psf.gz as the consolefont. It supports more character sets, and + the larger font was causing wraparound on UEFI (at least on bare metal here). ++--------------------------+ Fri Jun 22 23:38:50 UTC 2018 Added libaio (needed by lvm). +--------------------------+ diff --git a/source/installer/build_installer.sh b/source/installer/build_installer.sh index 6f5502b2..60aeb5b9 100755 --- a/source/installer/build_installer.sh +++ b/source/installer/build_installer.sh @@ -1010,8 +1010,7 @@ cp --remove-destination -fa${VERBOSE1} ${EXTRA_PKGS_USRBIN} \ cd $TMP/extract-packages/usr/share/kbd/consolefonts mkdir -p $PKG/$ARCH-installer-filesystem/usr/share/kbd/consolefonts cp --remove-destination -fa${VERBOSE1} \ - ter-c14v.psf.gz \ - ter-120b.psf.gz \ + ter-v14v.psf.gz \ $PKG/$ARCH-installer-filesystem/usr/share/kbd/consolefonts # Copy binaries from /usr/sbin into the installer's /usr/sbin/ diff --git a/source/installer/sources/initrd/dev/mknodes.sh b/source/installer/sources/initrd/dev/mknodes.sh index 005e7bd5..9293c95e 100755 --- a/source/installer/sources/initrd/dev/mknodes.sh +++ b/source/installer/sources/initrd/dev/mknodes.sh @@ -1,416 +1,416 @@ # Run this script in the root of the skeleton tree # to re-create the required device nodes mkdir -p dev -mknod -m 600 dev/tty3 c 4 3 +mknod -m 600 dev/arp c 16 1 mkdir -p dev -mknod -m 660 dev/hdj b 56 64 +mknod -m 644 dev/atibm c 10 3 mkdir -p dev -mknod -m 660 dev/hdt b 91 64 +mknod -m 644 dev/audio c 14 4 mkdir -p dev -mknod -m 660 dev/md15 b 9 15 +mknod -m 644 dev/audio1 c 14 20 mkdir -p dev -mknod -m 640 dev/sr4 b 11 4 +mknod -m 640 dev/aztcd b 29 0 mkdir -p dev -mknod -m 644 dev/ptyp2 c 2 2 +mknod -m 640 dev/bpcd b 41 0 mkdir -p dev mknod -m 640 dev/cdu535 b 24 0 mkdir -p dev -mknod -m 600 dev/tcp c 18 3 +mknod -m 640 dev/cm206cd b 32 0 mkdir -p dev -mknod -m 644 dev/psaux c 10 1 +mknod -m 600 dev/console c 5 1 mkdir -p dev -mknod -m 640 dev/sjcd b 18 0 +mknod -m 640 dev/cua0 c 5 64 mkdir -p dev -mknod -m 644 dev/tty9 c 4 9 +mknod -m 640 dev/cua1 c 5 65 mkdir -p dev -mknod -m 640 dev/fd1h1200 b 2 9 +mknod -m 640 dev/cua2 c 5 66 mkdir -p dev -mknod -m 600 dev/sgb c 21 1 +mknod -m 640 dev/cua3 c 5 67 mkdir -p dev -mknod -m 640 dev/rmt16 c 12 8 +mknod -m 640 dev/cua4 c 5 68 mkdir -p dev -mknod -m 640 dev/ttyS0 c 4 64 +mknod -m 640 dev/eda b 36 0 mkdir -p dev -mknod -m 660 dev/hdn b 88 64 +mknod -m 640 dev/eda1 b 36 1 mkdir -p dev -mknod -m 640 dev/fd0h1200 b 2 8 +mknod -m 640 dev/eda2 b 36 2 mkdir -p dev -mknod -m 600 dev/ip c 18 1 +mknod -m 640 dev/eda3 b 36 3 mkdir -p dev -mknod -m 640 dev/fd1h1440 b 2 41 +mknod -m 640 dev/eda4 b 36 4 mkdir -p dev -mknod -m 700 dev/tty1 c 4 1 +mknod -m 640 dev/eda5 b 36 5 mkdir -p dev -mknod -m 640 dev/tape-reset c 12 255 +mknod -m 640 dev/eda6 b 36 6 mkdir -p dev -mknod -m 640 dev/eda1 b 36 1 +mknod -m 640 dev/eda7 b 36 7 mkdir -p dev -mknod -m 640 dev/cm206cd b 32 0 +mknod -m 640 dev/eda8 b 36 8 mkdir -p dev -mknod -m 660 dev/parport3 c 99 3 +mknod -m 640 dev/eda9 b 36 9 mkdir -p dev -mknod -m 640 dev/sr1 b 11 1 +mknod -m 640 dev/fd0 b 2 0 mkdir -p dev -mknod -m 660 dev/hdo b 89 0 +mknod -m 640 dev/fd0h1200 b 2 8 mkdir -p dev -mknod -m 640 dev/tape-d c 12 136 +mknod -m 640 dev/fd0h1440 b 2 40 mkdir -p dev -mknod -m 660 dev/hdq b 90 0 +mknod -m 640 dev/fd0u1440 b 2 28 mkdir -p dev -mknod -m 640 dev/st1 c 9 1 +mknod -m 660 dev/fd0u1680 b 2 44 mkdir -p dev -mknod -m 640 dev/optcd0 b 17 0 +mknod -m 660 dev/fd0u1722 b 2 60 mkdir -p dev -mknod -m 640 dev/sr3 b 11 3 +mknod -m 640 dev/fd1 b 2 1 mkdir -p dev -mknod -m 640 dev/cua0 c 5 64 +mknod -m 640 dev/fd1h1200 b 2 9 mkdir -p dev -mknod -m 644 dev/urandom c 1 9 +mknod -m 640 dev/fd1h1440 b 2 41 mkdir -p dev -mknod -m 644 dev/tty c 5 0 +mknod -m 640 dev/fd1u1440 b 2 29 mkdir -p dev -mknod -m 640 dev/fd0 b 2 0 +mknod -m 644 dev/full c 1 7 mkdir -p dev -mknod -m 640 dev/eda b 36 0 +mknod -m 640 dev/gscd0 b 16 0 mkdir -p dev -mknod -m 640 dev/eda5 b 36 5 +mknod -m 660 dev/hda b 3 0 mkdir -p dev -mknod -m 660 dev/md2 b 9 2 +mknod -m 660 dev/hdb b 3 64 mkdir -p dev -mknod -m 600 dev/tty2 c 4 2 +mknod -m 660 dev/hdc b 22 0 mkdir -p dev -mknod -m 644 dev/ptyp4 c 2 4 +mknod -m 660 dev/hdd b 22 64 mkdir -p dev -mknod -m 600 dev/console c 5 1 +mknod -m 660 dev/hde b 33 0 mkdir -p dev -mknod -m 660 dev/md1 b 9 1 +mknod -m 660 dev/hdf b 33 64 mkdir -p dev -mknod -m 640 dev/par0 c 6 0 +mknod -m 660 dev/hdg b 34 0 mkdir -p dev -mknod -m 644 dev/tty7 c 4 7 +mknod -m 660 dev/hdh b 34 64 mkdir -p dev -mknod -m 644 dev/random c 1 8 +mknod -m 660 dev/hdi b 56 0 mkdir -p dev -mknod -m 640 dev/par2 c 6 2 +mknod -m 660 dev/hdj b 56 64 mkdir -p dev -mknod -m 640 dev/lmscd b 24 0 +mknod -m 660 dev/hdk b 57 0 mkdir -p dev -mknod -m 640 dev/sr0 b 11 0 +mknod -m 660 dev/hdl b 57 64 mkdir -p dev -mknod -m 640 dev/eda8 b 36 8 +mknod -m 660 dev/hdm b 88 0 mkdir -p dev -mknod -m 660 dev/hdh b 34 64 +mknod -m 660 dev/hdn b 88 64 mkdir -p dev -mknod -m 640 dev/sbpcd0 b 25 0 +mknod -m 660 dev/hdo b 89 0 mkdir -p dev -mknod -m 660 dev/hdm b 88 0 +mknod -m 660 dev/hdp b 89 64 mkdir -p dev -mknod -m 640 dev/pf2 b 47 2 +mknod -m 660 dev/hdq b 90 0 mkdir -p dev -mknod -m 640 dev/cua2 c 5 66 +mknod -m 660 dev/hdr b 90 64 mkdir -p dev -mknod -m 600 dev/sga c 21 0 +mknod -m 660 dev/hds b 91 0 mkdir -p dev -mknod -m 640 dev/pda5 b 45 5 +mknod -m 660 dev/hdt b 91 64 mkdir -p dev -mknod -m 640 dev/ttyS2 c 4 66 +mknod -m 600 dev/icmp c 18 2 +mkdir -p dev/inet +mknod -m 644 dev/inet/egp c 30 37 +mkdir -p dev/inet +mknod -m 644 dev/inet/ggp c 30 34 +mkdir -p dev/inet +mknod -m 644 dev/inet/icmp c 30 33 +mkdir -p dev/inet +mknod -m 644 dev/inet/idp c 30 40 +mkdir -p dev/inet +mknod -m 644 dev/inet/ip c 30 32 +mkdir -p dev/inet +mknod -m 644 dev/inet/ipip c 30 35 +mkdir -p dev/inet +mknod -m 644 dev/inet/pup c 30 38 +mkdir -p dev/inet +mknod -m 644 dev/inet/rawip c 30 41 +mkdir -p dev/inet +mknod -m 644 dev/inet/tcp c 30 36 +mkdir -p dev/inet +mknod -m 644 dev/inet/udp c 30 39 mkdir -p dev -mknod -m 640 dev/mcdx1 b 20 1 +mknod -m 644 dev/inportbm c 10 2 +mkdir -p dev/input +mknod -m 644 dev/input/event0 c 13 64 +mkdir -p dev/input +mknod -m 644 dev/input/js0 c 13 0 +mkdir -p dev/input +mknod -m 660 dev/input/keyboard c 10 150 +mkdir -p dev/input +mknod -m 644 dev/input/mice c 13 63 +mkdir -p dev/input +mknod -m 660 dev/input/mouse c 10 149 +mkdir -p dev/input +mknod -m 644 dev/input/mouse0 c 13 32 mkdir -p dev -mknod -m 644 dev/ttyp4 c 3 4 +mknod -m 600 dev/ip c 18 1 mkdir -p dev mknod -m 640 dev/kmem c 1 2 mkdir -p dev -mknod -m 640 dev/eda2 b 36 2 +mknod -m 640 dev/lmscd b 24 0 mkdir -p dev -mknod -m 644 dev/ttyp8 c 3 8 +mknod -m 644 dev/logibm c 10 0 mkdir -p dev -mknod -m 600 dev/icmp c 18 2 +mknod -m 660 dev/loop0 b 7 0 mkdir -p dev -mknod -m 640 dev/scd4 b 11 4 +mknod -m 660 dev/loop1 b 7 1 mkdir -p dev -mknod -m 660 dev/md13 b 9 13 +mknod -m 660 dev/loop3 b 7 3 mkdir -p dev -mknod -m 640 dev/sbpcd1 b 25 1 +mknod -m 660 dev/loop4 b 7 4 mkdir -p dev -mknod -m 640 dev/pcd0 b 46 0 +mknod -m 640 dev/lp0 c 6 0 mkdir -p dev -mknod -m 640 dev/rmt8 c 12 6 +mknod -m 640 dev/mcd b 23 0 mkdir -p dev -mknod -m 660 dev/hdc b 22 0 +mknod -m 640 dev/mcdx0 b 20 0 mkdir -p dev -mknod -m 644 dev/logibm c 10 0 +mknod -m 640 dev/mcdx1 b 20 1 mkdir -p dev -mknod -m 640 dev/scd1 b 11 1 +mknod -m 660 dev/md0 b 9 0 +mkdir -p dev +mknod -m 660 dev/md1 b 9 1 mkdir -p dev mknod -m 660 dev/md10 b 9 10 mkdir -p dev -mknod -m 660 dev/hds b 91 0 +mknod -m 660 dev/md11 b 9 11 mkdir -p dev -mknod -m 660 dev/hdl b 57 64 +mknod -m 660 dev/md12 b 9 12 mkdir -p dev -mknod -m 644 dev/socksys c 30 0 +mknod -m 660 dev/md13 b 9 13 mkdir -p dev -mknod -m 600 dev/tty6 c 4 6 +mknod -m 660 dev/md14 b 9 14 mkdir -p dev -mknod -m 660 dev/loop1 b 7 1 +mknod -m 660 dev/md15 b 9 15 mkdir -p dev -mknod -m 640 dev/bpcd b 41 0 +mknod -m 660 dev/md2 b 9 2 mkdir -p dev mknod -m 660 dev/md3 b 9 3 mkdir -p dev -mknod -m 640 dev/scd0 b 11 0 -mkdir -p dev -mknod -m 644 dev/ptyp3 c 2 3 -mkdir -p dev -mknod -m 640 dev/pf0 b 47 0 -mkdir -p dev -mknod -m 640 dev/gscd0 b 16 0 -mkdir -p dev -mknod -m 640 dev/fd0h1440 b 2 40 +mknod -m 660 dev/md4 b 9 4 mkdir -p dev -mknod -m 660 dev/hdi b 56 0 +mknod -m 660 dev/md5 b 9 5 mkdir -p dev -mknod -m 640 dev/cua4 c 5 68 +mknod -m 660 dev/md6 b 9 6 mkdir -p dev -mknod -m 660 dev/md12 b 9 12 +mknod -m 660 dev/md7 b 9 7 mkdir -p dev mknod -m 660 dev/md8 b 9 8 mkdir -p dev -mknod -m 640 dev/scd2 b 11 2 -mkdir -p dev -mknod -m 640 dev/mcdx0 b 20 0 -mkdir -p dev -mknod -m 640 dev/sbpcd b 25 0 +mknod -m 660 dev/md9 b 9 9 mkdir -p dev -mknod -m 660 dev/md5 b 9 5 +mknod -m 640 dev/mem c 1 1 mkdir -p dev -mknod -m 600 dev/sgd c 21 3 +mknod -m 640 dev/nrft0 c 27 4 mkdir -p dev -mknod -m 644 dev/atibm c 10 3 +mknod -m 640 dev/nst0 c 9 128 mkdir -p dev -mknod -m 644 dev/ptyp6 c 2 6 +mknod -m 640 dev/nst1 c 9 129 mkdir -p dev mknod -m 644 dev/null c 1 3 mkdir -p dev -mknod -m 600 dev/udp c 18 4 +mknod -m 640 dev/optcd0 b 17 0 mkdir -p dev -mknod -m 660 dev/md9 b 9 9 +mknod -m 640 dev/par0 c 6 0 mkdir -p dev -mknod -m 660 dev/fd0u1680 b 2 44 +mknod -m 640 dev/par1 c 6 1 mkdir -p dev -mknod -m 640 dev/port c 1 4 +mknod -m 640 dev/par2 c 6 2 mkdir -p dev -mknod -m 640 dev/rft0 c 27 0 +mknod -m 660 dev/parport0 c 99 0 mkdir -p dev -mknod -m 640 dev/st0 c 9 0 +mknod -m 660 dev/parport1 c 99 1 mkdir -p dev -mknod -m 640 dev/ram1 b 1 1 -mkdir -p dev/input -mknod -m 644 dev/input/mice c 13 63 -mkdir -p dev/input -mknod -m 660 dev/input/keyboard c 10 150 -mkdir -p dev/input -mknod -m 644 dev/input/event0 c 13 64 -mkdir -p dev/input -mknod -m 660 dev/input/mouse c 10 149 -mkdir -p dev/input -mknod -m 644 dev/input/js0 c 13 0 -mkdir -p dev/input -mknod -m 644 dev/input/mouse0 c 13 32 +mknod -m 660 dev/parport2 c 99 2 mkdir -p dev -mknod -m 640 dev/eda6 b 36 6 +mknod -m 660 dev/parport3 c 99 3 mkdir -p dev -mknod -m 640 dev/pcd3 b 46 3 +mknod -m 640 dev/pcd0 b 46 0 mkdir -p dev -mknod -m 640 dev/pf3 b 47 3 +mknod -m 640 dev/pcd1 b 46 1 mkdir -p dev mknod -m 640 dev/pcd2 b 46 2 mkdir -p dev -mknod -m 640 dev/cua1 c 5 65 +mknod -m 640 dev/pcd3 b 46 3 mkdir -p dev -mknod -m 644 dev/zero c 1 5 +mknod -m 640 dev/pda b 45 0 mkdir -p dev -mknod -m 660 dev/parport2 c 99 2 +mknod -m 640 dev/pda1 b 45 1 mkdir -p dev -mknod -m 644 dev/inportbm c 10 2 +mknod -m 640 dev/pda2 b 45 2 mkdir -p dev -mknod -m 644 dev/tty8 c 4 8 +mknod -m 640 dev/pda3 b 45 3 mkdir -p dev -mknod -m 640 dev/sonycd b 15 0 +mknod -m 640 dev/pda4 b 45 4 mkdir -p dev -mknod -m 600 dev/arp c 16 1 +mknod -m 640 dev/pda5 b 45 5 mkdir -p dev -mknod -m 600 dev/sgf c 21 5 +mknod -m 640 dev/pda6 b 45 6 mkdir -p dev -mknod -m 644 dev/full c 1 7 +mknod -m 640 dev/pf0 b 47 0 mkdir -p dev -mknod -m 600 dev/sge c 21 4 +mknod -m 640 dev/pf1 b 47 1 mkdir -p dev -mknod -m 644 dev/ptyp7 c 2 7 +mknod -m 640 dev/pf2 b 47 2 mkdir -p dev -mknod -m 660 dev/loop3 b 7 3 +mknod -m 640 dev/pf3 b 47 3 mkdir -p dev -mknod -m 640 dev/cua3 c 5 67 +mknod -m 640 dev/port c 1 4 +mkdir -p dev +mknod -m 644 dev/psaux c 10 1 mkdir -p dev mknod -m 644 dev/ptyp0 c 2 0 mkdir -p dev -mknod -m 600 dev/socket c 16 0 +mknod -m 644 dev/ptyp1 c 2 1 mkdir -p dev -mknod -m 640 dev/par1 c 6 1 +mknod -m 644 dev/ptyp2 c 2 2 mkdir -p dev -mknod -m 640 dev/nst0 c 9 128 +mknod -m 644 dev/ptyp3 c 2 3 mkdir -p dev -mknod -m 640 dev/pcd1 b 46 1 +mknod -m 644 dev/ptyp4 c 2 4 mkdir -p dev -mknod -m 700 dev/ttyp1 c 3 1 +mknod -m 644 dev/ptyp5 c 2 5 mkdir -p dev -mknod -m 600 dev/tty4 c 4 4 +mknod -m 644 dev/ptyp6 c 2 6 mkdir -p dev -mknod -m 640 dev/eda7 b 36 7 +mknod -m 644 dev/ptyp7 c 2 7 mkdir -p dev -mknod -m 660 dev/parport1 c 99 1 +mknod -m 644 dev/ptyp8 c 2 8 mkdir -p dev -mknod -m 600 dev/ttyp3 c 3 3 +mknod -m 640 dev/ram0 b 1 0 mkdir -p dev -mknod -m 640 dev/nrft0 c 27 4 +mknod -m 640 dev/ram1 b 1 1 mkdir -p dev -mknod -m 640 dev/ttyS4 c 4 68 +mknod -m 644 dev/random c 1 8 mkdir -p dev -mknod -m 640 dev/ram0 b 1 0 +mknod -m 640 dev/rft0 c 27 0 mkdir -p dev -mknod -m 640 dev/nst1 c 9 129 +mknod -m 640 dev/rmt16 c 12 8 mkdir -p dev -mknod -m 644 dev/audio c 14 4 +mknod -m 640 dev/rmt8 c 12 6 mkdir -p dev -mknod -m 644 dev/ptyp8 c 2 8 +mknod -m 640 dev/sbpcd b 25 0 mkdir -p dev -mknod -m 660 dev/loop4 b 7 4 +mknod -m 640 dev/sbpcd0 b 25 0 mkdir -p dev -mknod -m 600 dev/tty5 c 4 5 +mknod -m 640 dev/sbpcd1 b 25 1 mkdir -p dev -mknod -m 660 dev/md6 b 9 6 +mknod -m 640 dev/scd0 b 11 0 mkdir -p dev -mknod -m 640 dev/scd3 b 11 3 +mknod -m 640 dev/scd1 b 11 1 mkdir -p dev -mknod -m 640 dev/pda b 45 0 +mknod -m 640 dev/scd2 b 11 2 mkdir -p dev -mknod -m 644 dev/ptyp1 c 2 1 +mknod -m 640 dev/scd3 b 11 3 mkdir -p dev -mknod -m 640 dev/fd1u1440 b 2 29 +mknod -m 640 dev/scd4 b 11 4 mkdir -p dev -mknod -m 640 dev/eda4 b 36 4 +mknod -m 600 dev/sga c 21 0 +mkdir -p dev +mknod -m 600 dev/sgb c 21 1 mkdir -p dev mknod -m 600 dev/sgc c 21 2 mkdir -p dev -mknod -m 640 dev/pda3 b 45 3 +mknod -m 600 dev/sgd c 21 3 mkdir -p dev -mknod -m 660 dev/hdf b 33 64 +mknod -m 600 dev/sge c 21 4 mkdir -p dev -mknod -m 640 dev/ttyS1 c 4 65 +mknod -m 600 dev/sgf c 21 5 mkdir -p dev -mknod -m 640 dev/pda6 b 45 6 +mknod -m 600 dev/sgg c 21 6 mkdir -p dev -mknod -m 660 dev/md7 b 9 7 +mknod -m 600 dev/sgh c 21 7 mkdir -p dev -mknod -m 640 dev/lp0 c 6 0 +mknod -m 640 dev/sjcd b 18 0 mkdir -p dev -mknod -m 640 dev/eda9 b 36 9 +mknod -m 600 dev/socket c 16 0 mkdir -p dev -mknod -m 660 dev/hde b 33 0 +mknod -m 644 dev/socksys c 30 0 mkdir -p dev -mknod -m 660 dev/md4 b 9 4 +mknod -m 640 dev/sonycd b 15 0 mkdir -p dev -mknod -m 640 dev/mem c 1 1 +mknod -m 644 dev/spx c 30 1 mkdir -p dev -mknod -m 640 dev/fd1 b 2 1 +mknod -m 640 dev/sr0 b 11 0 mkdir -p dev -mknod -m 644 dev/ttyp7 c 3 7 +mknod -m 640 dev/sr1 b 11 1 mkdir -p dev -mknod -m 700 dev/ttyp2 c 3 2 +mknod -m 640 dev/sr2 b 11 2 mkdir -p dev -mknod -m 660 dev/hdg b 34 0 +mknod -m 640 dev/sr3 b 11 3 mkdir -p dev -mknod -m 660 dev/hdk b 57 0 +mknod -m 640 dev/sr4 b 11 4 mkdir -p dev -mknod -m 644 dev/spx c 30 1 +mknod -m 640 dev/st0 c 9 0 mkdir -p dev -mknod -m 660 dev/md14 b 9 14 +mknod -m 640 dev/st1 c 9 1 mkdir -p dev -mknod -m 600 dev/sgg c 21 6 +mknod -m 640 dev/tape-d c 12 136 mkdir -p dev -mknod -m 660 dev/hda b 3 0 +mknod -m 640 dev/tape-reset c 12 255 mkdir -p dev -mknod -m 640 dev/mcd b 23 0 +mknod -m 600 dev/tcp c 18 3 mkdir -p dev -mknod -m 640 dev/pda4 b 45 4 -mkdir -p dev/inet -mknod -m 644 dev/inet/tcp c 30 36 -mkdir -p dev/inet -mknod -m 644 dev/inet/ip c 30 32 -mkdir -p dev/inet -mknod -m 644 dev/inet/icmp c 30 33 -mkdir -p dev/inet -mknod -m 644 dev/inet/egp c 30 37 -mkdir -p dev/inet -mknod -m 644 dev/inet/idp c 30 40 -mkdir -p dev/inet -mknod -m 644 dev/inet/udp c 30 39 -mkdir -p dev/inet -mknod -m 644 dev/inet/pup c 30 38 -mkdir -p dev/inet -mknod -m 644 dev/inet/rawip c 30 41 -mkdir -p dev/inet -mknod -m 644 dev/inet/ggp c 30 34 -mkdir -p dev/inet -mknod -m 644 dev/inet/ipip c 30 35 +mknod -m 644 dev/tty c 5 0 mkdir -p dev -mknod -m 644 dev/ptyp5 c 2 5 +mknod -m 600 dev/tty0 c 4 0 mkdir -p dev -mknod -m 660 dev/hdb b 3 64 +mknod -m 700 dev/tty1 c 4 1 mkdir -p dev -mknod -m 660 dev/hdr b 90 64 +mknod -m 600 dev/tty2 c 4 2 mkdir -p dev -mknod -m 660 dev/hdd b 22 64 +mknod -m 600 dev/tty3 c 4 3 mkdir -p dev -mknod -m 640 dev/pda1 b 45 1 +mknod -m 600 dev/tty4 c 4 4 mkdir -p dev -mknod -m 640 dev/fd0u1440 b 2 28 +mknod -m 600 dev/tty5 c 4 5 mkdir -p dev -mknod -m 640 dev/eda3 b 36 3 +mknod -m 600 dev/tty6 c 4 6 mkdir -p dev -mknod -m 660 dev/fd0u1722 b 2 60 +mknod -m 644 dev/tty7 c 4 7 mkdir -p dev -mknod -m 600 dev/unix c 17 0 +mknod -m 644 dev/tty8 c 4 8 mkdir -p dev -mknod -m 640 dev/pf1 b 47 1 +mknod -m 644 dev/tty9 c 4 9 mkdir -p dev -mknod -m 640 dev/sr2 b 11 2 +mknod -m 640 dev/ttyS0 c 4 64 mkdir -p dev -mknod -m 660 dev/md0 b 9 0 +mknod -m 640 dev/ttyS1 c 4 65 mkdir -p dev -mknod -m 640 dev/aztcd b 29 0 +mknod -m 640 dev/ttyS2 c 4 66 mkdir -p dev -mknod -m 640 dev/pda2 b 45 2 +mknod -m 640 dev/ttyS3 c 4 67 mkdir -p dev -mknod -m 660 dev/parport0 c 99 0 +mknod -m 640 dev/ttyS4 c 4 68 mkdir -p dev -mknod -m 660 dev/loop0 b 7 0 +mknod -m 644 dev/ttyp0 c 3 0 mkdir -p dev -mknod -m 660 dev/md11 b 9 11 +mknod -m 700 dev/ttyp1 c 3 1 mkdir -p dev -mknod -m 640 dev/ttyS3 c 4 67 +mknod -m 700 dev/ttyp2 c 3 2 +mkdir -p dev +mknod -m 600 dev/ttyp3 c 3 3 +mkdir -p dev +mknod -m 644 dev/ttyp4 c 3 4 +mkdir -p dev +mknod -m 644 dev/ttyp5 c 3 5 mkdir -p dev mknod -m 644 dev/ttyp6 c 3 6 mkdir -p dev -mknod -m 600 dev/sgh c 21 7 +mknod -m 644 dev/ttyp7 c 3 7 mkdir -p dev -mknod -m 644 dev/audio1 c 14 20 +mknod -m 644 dev/ttyp8 c 3 8 mkdir -p dev -mknod -m 660 dev/hdp b 89 64 +mknod -m 600 dev/udp c 18 4 mkdir -p dev -mknod -m 644 dev/ttyp0 c 3 0 +mknod -m 600 dev/unix c 17 0 mkdir -p dev -mknod -m 600 dev/tty0 c 4 0 +mknod -m 644 dev/urandom c 1 9 mkdir -p dev -mknod -m 644 dev/ttyp5 c 3 5 +mknod -m 644 dev/zero c 1 5 diff --git a/source/installer/sources/initrd/etc/rc.d/rc.font b/source/installer/sources/initrd/etc/rc.d/rc.font index 69e69baa..7d4d75ba 100755 --- a/source/installer/sources/initrd/etc/rc.d/rc.font +++ b/source/installer/sources/initrd/etc/rc.d/rc.font @@ -27,19 +27,22 @@ create_tty() { } if ! grep -wq nofont /proc/cmdline ; then - if [ ! "$(cat /proc/fb)" = "" ] ; then - if [ -r /usr/share/kbd/consolefonts/ter-120b.psf.gz ]; then +# Commented out this next section because it leads to too big a font on a UEFI +# framebuffer. It's possible that it would be a correct font for other fb +# console types, but it's just safer to go with the smaller choice. +# if [ ! "$(cat /proc/fb)" = "" ] ; then +# if [ -r /usr/share/kbd/consolefonts/ter-120b.psf.gz ]; then +# create_tty +# for tty in /dev/tty{1,2,3,4} ; do +# setfont -C $tty /usr/share/kbd/consolefonts/ter-120b.psf.gz +# done +# fi +# else + if [ -r /usr/share/kbd/consolefonts/ter-v14v.psf.gz ]; then create_tty for tty in /dev/tty{1,2,3,4} ; do - setfont -C $tty /usr/share/kbd/consolefonts/ter-120b.psf.gz + setfont -C $tty /usr/share/kbd/consolefonts/ter-v14v.psf.gz done fi - else - if [ -r /usr/share/kbd/consolefonts/ter-c14v.psf.gz ]; then - create_tty - for tty in /dev/tty{1,2,3,4} ; do - setfont -C $tty /usr/share/kbd/consolefonts/ter-c14v.psf.gz - done - fi - fi +# fi fi diff --git a/source/k/kernel-configs/config-generic-4.14.56 b/source/k/kernel-configs/config-generic-4.14.57 index 0cb7950e..f12f1a05 100644 --- a/source/k/kernel-configs/config-generic-4.14.56 +++ b/source/k/kernel-configs/config-generic-4.14.57 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.14.56 Kernel Configuration +# Linux/x86 4.14.57 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y diff --git a/source/k/kernel-configs/config-generic-4.14.56.x64 b/source/k/kernel-configs/config-generic-4.14.57.x64 index e72cbe10..9349c56d 100644 --- a/source/k/kernel-configs/config-generic-4.14.56.x64 +++ b/source/k/kernel-configs/config-generic-4.14.57.x64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.14.56 Kernel Configuration +# Linux/x86 4.14.57 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y diff --git a/source/k/kernel-configs/config-generic-smp-4.14.56-smp b/source/k/kernel-configs/config-generic-smp-4.14.57-smp index 369e22d3..ce25c046 100644 --- a/source/k/kernel-configs/config-generic-smp-4.14.56-smp +++ b/source/k/kernel-configs/config-generic-smp-4.14.57-smp @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.14.56 Kernel Configuration +# Linux/x86 4.14.57 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y diff --git a/source/k/kernel-configs/config-huge-4.14.56 b/source/k/kernel-configs/config-huge-4.14.57 index 40ef28fd..7f9c404e 100644 --- a/source/k/kernel-configs/config-huge-4.14.56 +++ b/source/k/kernel-configs/config-huge-4.14.57 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.14.56 Kernel Configuration +# Linux/x86 4.14.57 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y diff --git a/source/k/kernel-configs/config-huge-4.14.56.x64 b/source/k/kernel-configs/config-huge-4.14.57.x64 index f1cc5c38..76a61560 100644 --- a/source/k/kernel-configs/config-huge-4.14.56.x64 +++ b/source/k/kernel-configs/config-huge-4.14.57.x64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.14.56 Kernel Configuration +# Linux/x86 4.14.57 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y diff --git a/source/k/kernel-configs/config-huge-smp-4.14.56-smp b/source/k/kernel-configs/config-huge-smp-4.14.57-smp index 4781b3c6..0da7f02c 100644 --- a/source/k/kernel-configs/config-huge-smp-4.14.56-smp +++ b/source/k/kernel-configs/config-huge-smp-4.14.57-smp @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.14.56 Kernel Configuration +# Linux/x86 4.14.57 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y diff --git a/source/l/libzip/libzip.SlackBuild b/source/l/libzip/libzip.SlackBuild index 034d35ab..8925a86a 100755 --- a/source/l/libzip/libzip.SlackBuild +++ b/source/l/libzip/libzip.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=libzip VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -112,7 +112,7 @@ fi mkdir -p $PKG/usr/doc/libzip-$VERSION cp -a \ - AUTHORS* COPYING* INSTALL* NEWS* README* THANKS* TODO* \ + API-CHANGES* AUTHORS* COPYING* INSTALL* NEWS* README* THANKS* TODO* \ $PKG/usr/doc/libzip-$VERSION mkdir -p $PKG/install diff --git a/source/x/x11/build/xorg-server b/source/x/x11/build/xorg-server index 0cfbf088..00750edc 100644 --- a/source/x/x11/build/xorg-server +++ b/source/x/x11/build/xorg-server @@ -1 +1 @@ -2 +3 diff --git a/source/x/x11/configure/xf86-video-r128 b/source/x/x11/configure/xf86-video-r128 deleted file mode 100644 index 291eb9b9..00000000 --- a/source/x/x11/configure/xf86-video-r128 +++ /dev/null @@ -1,13 +0,0 @@ -CFLAGS=$SLKCFLAGS \ -CXXFLAGS=$SLKCFLAGS \ -./autogen.sh \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --infodir=/usr/info \ - --mandir=/usr/man \ - --docdir=/usr/doc/${PKGNAME}-${MODULAR_PACKAGE_VERSION} \ - --with-udev-rules-dir=/lib/udev/rules.d \ - --disable-static \ - --build=$ARCH-slackware-linux diff --git a/source/x/x11/patch/xorg-server.patch b/source/x/x11/patch/xorg-server.patch index cdd0ebd8..bd48d5a0 100644 --- a/source/x/x11/patch/xorg-server.patch +++ b/source/x/x11/patch/xorg-server.patch @@ -1,3 +1,30 @@ +# We've used this one forever. zcat $CWD/patch/xorg-server/x11.startwithblackscreen.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Without this patch, combo mouse/keyboard (such as Logitech through unified +# receiver) may be unable to set the desired keyboard layout. zcat $CWD/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Fix a segfault in xorg-server-1.20.0. Odds are good this will be fixed in +# the next xorg-server and will no longer apply then. zcat $CWD/patch/xorg-server/fix-nouveau-segfault.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# From Fedora Rawhide 2018/7 (possibly useful, doesn't seem like it will hurt anything): +zcat $CWD/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# From Fedora Rawhide 2018/7, looks like many other distributions have added +# this patch for a long time. Keep an eye out for newer versions though, and +# revisit this if any DE begin to manage secondary GPUs (although none do yet): +zcat $CWD/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# The upstream nouveau developers recommend this. On newer nvidia cards it works +# better to use the generic modesetting ddx rather than nouveau. +# Reference: https://bugs.freedesktop.org/show_bug.cgi?id=94844 +# Added here 2018/7. +zcat $CWD/patch/xorg-server/0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } + +# Glamor patches that synchronize what the drivers and server expect. Written by +# one of the ATI devs, so might improve things with that driver, but be on the +# lookout for issues. Added 2018/7. +zcat $CWD/patch/xorg-server/xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch.gz| patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch b/source/x/x11/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch new file mode 100644 index 00000000..c613eb8f --- /dev/null +++ b/source/x/x11/patch/xorg-server/0001-Always-install-vbe-and-int10-sdk-headers.patch @@ -0,0 +1,37 @@ +From e96a83d9b1b5a52a41213c7a4840dc96b4f5b06f Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 15 Aug 2012 12:35:21 -0400 +Subject: [PATCH] Always install vbe and int10 sdk headers + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- + hw/xfree86/Makefile.am | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am +index b876b79..a170b58 100644 +--- a/hw/xfree86/Makefile.am ++++ b/hw/xfree86/Makefile.am +@@ -26,17 +26,9 @@ if VGAHW + VGAHW_SUBDIR = vgahw + endif + +-if VBE +-VBE_SUBDIR = vbe +-endif +- +-if INT10MODULE +-INT10_SUBDIR = int10 +-endif +- +-SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \ ++SUBDIRS = common ddc x86emu int10 os-support parser \ + ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \ +- $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods xkb \ ++ $(DRI2_SUBDIR) . vbe i2c dixmods xkb \ + fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \ + $(GLAMOR_EGL_SUBDIR) drivers + +-- +2.13.6 + diff --git a/source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch b/source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch new file mode 100644 index 00000000..86b96a23 --- /dev/null +++ b/source/x/x11/patch/xorg-server/0001-autobind-GPUs-to-the-screen.patch @@ -0,0 +1,293 @@ +From 471289fa1dc359555ceed6302f7d9605ab6be3ea Mon Sep 17 00:00:00 2001 +From: Dave Airlie <airlied@redhat.com> +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 <airlied@gmail.com> +[hdegoede@redhat.com: Make configurable, fix with nvidia, submit upstream] +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +--- + 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/source/x/x11/patch/xorg-server/0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch b/source/x/x11/patch/xorg-server/0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch new file mode 100644 index 00000000..1b1306e2 --- /dev/null +++ b/source/x/x11/patch/xorg-server/0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch @@ -0,0 +1,52 @@ +From aa2f34d80ef3118eae0cce73b610c36cdcb978fe Mon Sep 17 00:00:00 2001 +From: Ben Skeggs <bskeggs@redhat.com> +Date: Sat, 22 Apr 2017 02:26:28 +1000 +Subject: [PATCH xserver] xfree86: use modesetting driver by default on GeForce + 8 and newer + +Signed-off-by: Ben Skeggs <bskeggs@redhat.com> +--- + hw/xfree86/common/xf86pciBus.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c +index 8158c2b62..78d1c947d 100644 +--- a/hw/xfree86/common/xf86pciBus.c ++++ b/hw/xfree86/common/xf86pciBus.c +@@ -37,6 +37,7 @@ + #include <unistd.h> + #include <X11/X.h> + #include <pciaccess.h> ++#include <xf86drm.h> + #include "os.h" + #include "Pci.h" + #include "xf86.h" +@@ -1190,6 +1191,25 @@ xf86VideoPtrToDriverList(struct pci_device *dev, + int idx = 0; + + #ifdef __linux__ ++ char busid[32]; ++ int fd; ++ ++ snprintf(busid, sizeof(busid), "pci:%04x:%02x:%02x.%d", ++ dev->domain, dev->bus, dev->dev, dev->func); ++ ++ /* 'modesetting' is preferred for GeForce 8 and newer GPUs */ ++ fd = drmOpenWithType("nouveau", busid, DRM_NODE_RENDER); ++ if (fd >= 0) { ++ uint64_t args[] = { 11 /* NOUVEAU_GETPARAM_CHIPSET_ID */, 0 }; ++ int ret = drmCommandWriteRead(fd, 0 /* DRM_NOUVEAU_GETPARAM */, ++ &args, sizeof(args)); ++ drmClose(fd); ++ if (ret == 0) { ++ if (args[1] == 0x050 || args[1] >= 0x80) ++ break; ++ } ++ } ++ + driverList[idx++] = "nouveau"; + #endif + driverList[idx++] = "nv"; +-- +2.12.2 + diff --git a/source/x/x11/patch/xorg-server/xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch b/source/x/x11/patch/xorg-server/xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch new file mode 100644 index 00000000..32672f2b --- /dev/null +++ b/source/x/x11/patch/xorg-server/xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch @@ -0,0 +1,54 @@ +From patchwork Wed May 23 09:43:32 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Subject: [xserver, + 1/2] glamor: Always return 0 from glamor_fds_from_pixmap on error +From: =?utf-8?q?Michel_D=C3=A4nzer?= <michel@daenzer.net> +X-Patchwork-Id: 224909 +Message-Id: <20180523094333.11076-1-michel@daenzer.net> +To: =?UTF-8?q?Louis-Francis=20Ratt=C3=A9-Boulianne?= <lfrb@collabora.com>, + Daniel Stone <daniels@collabora.com> +Cc: xorg-devel@lists.x.org +Date: Wed, 23 May 2018 11:43:32 +0200 + +From: Michel Dänzer <michel.daenzer@amd.com> + +This matches what glamor_egl_fds_from_pixmap and dri3_fds_from_pixmap do +and what proc_dri3_buffers_from_pixmap expects. + +Fixes: c8c276c9569b "glamor: Implement PixmapFromBuffers and + BuffersFromPixmap" +Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> +--- + glamor/glamor.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/glamor/glamor.c b/glamor/glamor.c +index d984d20f3..e2c74d17a 100644 +--- a/glamor/glamor.c ++++ b/glamor/glamor.c +@@ -836,20 +836,20 @@ glamor_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds, + glamor_get_screen_private(pixmap->drawable.pScreen); + + if (!glamor_priv->dri3_enabled) +- return -1; ++ return 0; + switch (pixmap_priv->type) { + case GLAMOR_TEXTURE_DRM: + case GLAMOR_TEXTURE_ONLY: + if (!glamor_pixmap_ensure_fbo(pixmap, pixmap->drawable.depth == 30 ? + GL_RGB10_A2 : GL_RGBA, 0)) +- return -1; ++ return 0; + return glamor_egl_fds_from_pixmap(screen, pixmap, fds, + strides, offsets, + modifier); + default: + break; + } +- return -1; ++ return 0; + } + + _X_EXPORT int diff --git a/source/x/x11/patch/xorg-server/xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch b/source/x/x11/patch/xorg-server/xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch new file mode 100644 index 00000000..ab92d3fc --- /dev/null +++ b/source/x/x11/patch/xorg-server/xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch @@ -0,0 +1,58 @@ +From patchwork Wed May 23 09:43:33 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Subject: [xserver, 2/2] glamor: Propagate glamor_fds_from_pixmap error in + glamor_fd_from_pixmap +From: =?utf-8?q?Michel_D=C3=A4nzer?= <michel@daenzer.net> +X-Patchwork-Id: 224910 +Message-Id: <20180523094333.11076-2-michel@daenzer.net> +To: =?UTF-8?q?Louis-Francis=20Ratt=C3=A9-Boulianne?= <lfrb@collabora.com>, + Daniel Stone <daniels@collabora.com> +Cc: xorg-devel@lists.x.org +Date: Wed, 23 May 2018 11:43:33 +0200 + +From: Michel Dänzer <michel.daenzer@amd.com> + +glamor_fds_from_pixmap returns 0 on error, but we were treating that as +success, continuing with uninitialized stride and fd values. + +Also bail if the offset isn't 0, same as in dri3_fd_from_pixmap. + +Fixes: c8c276c9569b "glamor: Implement PixmapFromBuffers and + BuffersFromPixmap" +Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> +Reviewed-by: Emil Velikov <emil.velikov@collabora.com> +--- + glamor/glamor.c | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +diff --git a/glamor/glamor.c b/glamor/glamor.c +index e2c74d17a..63f0947fa 100644 +--- a/glamor/glamor.c ++++ b/glamor/glamor.c +@@ -865,17 +865,15 @@ glamor_fd_from_pixmap(ScreenPtr screen, + &modifier); + + /* Pixmaps with multi-planes/modifier are not supported in this interface */ +- if (ret > 1) { +- while (ret > 0) +- close(fds[--ret]); +- return -1; ++ if (ret == 1 && offsets[0] == 0) { ++ *stride = strides[0]; ++ *size = pixmap->drawable.height * *stride; ++ return fds[0]; + } + +- ret = fds[0]; +- *stride = strides[0]; +- *size = pixmap->drawable.height * *stride; +- +- return ret; ++ while (ret > 0) ++ close(fds[--ret]); ++ return -1; + } + + _X_EXPORT int |