summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/bluez-5.47-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt11
-rw-r--r--patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/emacs-25.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt11
-rw-r--r--patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/git-2.14.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt11
-rw-r--r--patches/packages/glibc-2.23-x86_64-4_slack14.2.txt11
-rw-r--r--patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt11
-rw-r--r--patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt11
-rw-r--r--patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt11
-rw-r--r--patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt11
-rw-r--r--patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt11
-rw-r--r--patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libidn-1.34-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt11
-rw-r--r--patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt11
-rw-r--r--patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt11
-rw-r--r--patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt11
-rw-r--r--patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt11
-rw-r--r--patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt11
-rw-r--r--patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt11
-rw-r--r--patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt11
-rw-r--r--patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt11
-rw-r--r--patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt11
-rw-r--r--patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/php-5.6.36-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/python-2.7.15-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt11
-rw-r--r--patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt11
-rw-r--r--patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt11
-rw-r--r--patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt11
-rw-r--r--patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt11
-rw-r--r--patches/source/NetworkManager/55NetworkManager39
-rwxr-xr-xpatches/source/NetworkManager/NetworkManager.SlackBuild181
-rw-r--r--patches/source/NetworkManager/NetworkManager.conf7
-rw-r--r--patches/source/NetworkManager/conf.d/00-dhcp-client.conf8
-rw-r--r--patches/source/NetworkManager/conf.d/00-rc-manager.conf2
-rw-r--r--patches/source/NetworkManager/doinst.sh42
-rw-r--r--patches/source/NetworkManager/rc.networkmanager113
-rw-r--r--patches/source/NetworkManager/slack-desc19
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00158
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00262
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00348
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00447
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00563
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00648
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00750
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-008188
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-00964
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-010157
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01149
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01243
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01366
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-014102
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01558
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-016132
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01751
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01844
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-01984
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-020110
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-02152
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-02256
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-023104
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-02454
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-025123
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-02660
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-027221
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-0282265
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-02959
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-0302064
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-031112
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03251
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-033225
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03490
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03563
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03657
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03743
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03888
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-03957
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04047
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04172
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04255
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04359
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04448
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04552
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04655
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-047150
-rw-r--r--patches/source/bash/bash-4.3-patches/bash43-04854
-rwxr-xr-xpatches/source/bash/bash.SlackBuild170
-rw-r--r--patches/source/bash/doinst.sh18
-rw-r--r--patches/source/bash/slack-desc19
-rw-r--r--patches/source/bind/3link.sh136
-rwxr-xr-xpatches/source/bind/bind.SlackBuild165
-rw-r--r--patches/source/bind/bind.libidn.patch297
-rw-r--r--patches/source/bind/bind.so_bsdcompat.diff11
-rw-r--r--patches/source/bind/caching-example/localhost.zone11
-rw-r--r--patches/source/bind/caching-example/named.conf31
-rw-r--r--patches/source/bind/caching-example/named.local10
-rw-r--r--patches/source/bind/caching-example/named.root90
-rw-r--r--patches/source/bind/doinst.sh36
-rw-r--r--patches/source/bind/rc.bind112
-rw-r--r--patches/source/bind/slack-desc19
-rw-r--r--patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch61
-rwxr-xr-xpatches/source/bluez/bluez.SlackBuild178
-rw-r--r--patches/source/bluez/btusb.conf3
-rw-r--r--patches/source/bluez/config/defaultconfig9
-rw-r--r--patches/source/bluez/config/rc.bluetooth74
-rw-r--r--patches/source/bluez/config/uart.conf6
-rw-r--r--patches/source/bluez/doinst.sh27
-rw-r--r--patches/source/bluez/slack-desc19
-rwxr-xr-xpatches/source/ca-certificates/ca-certificates.SlackBuild91
-rw-r--r--patches/source/ca-certificates/doinst.sh19
-rw-r--r--patches/source/ca-certificates/patches/fixup_DESTDIR.diff49
-rw-r--r--patches/source/ca-certificates/patches/fixup_update-ca-certificates.diff12
-rw-r--r--patches/source/ca-certificates/setup.11.cacerts3
-rw-r--r--patches/source/ca-certificates/slack-desc19
-rwxr-xr-xpatches/source/curl/cacert-fetch.sh1
-rw-r--r--patches/source/curl/cacert.pem3338
-rwxr-xr-xpatches/source/curl/curl.SlackBuild153
-rw-r--r--patches/source/curl/slack-desc19
-rw-r--r--patches/source/dbus/dbus-1.10.x-allow_root_globally.diff18
-rwxr-xr-xpatches/source/dbus/dbus.SlackBuild151
-rw-r--r--patches/source/dbus/dbus.expat222fix.diff74
-rw-r--r--patches/source/dbus/doinst.sh26
-rw-r--r--patches/source/dbus/rc.messagebus81
-rw-r--r--patches/source/dbus/slack-desc18
-rw-r--r--patches/source/dhcp/dhclient-script.PATH.diff13
-rwxr-xr-xpatches/source/dhcp/dhcp-remove-bind-tarball.sh49
-rwxr-xr-xpatches/source/dhcp/dhcp.SlackBuild179
-rw-r--r--patches/source/dhcp/doinst.sh21
-rw-r--r--patches/source/dhcp/slack-desc19
-rwxr-xr-xpatches/source/dnsmasq/dnsmasq.SlackBuild107
-rw-r--r--patches/source/dnsmasq/dnsmasq.leasedir.diff24
-rw-r--r--patches/source/dnsmasq/doinst.sh26
-rw-r--r--patches/source/dnsmasq/rc.dnsmasq36
-rw-r--r--patches/source/dnsmasq/slack-desc19
-rw-r--r--patches/source/emacs/doinst.sh10
-rwxr-xr-xpatches/source/emacs/emacs.SlackBuild190
-rw-r--r--patches/source/emacs/slack-desc12
-rwxr-xr-xpatches/source/expat/expat.SlackBuild93
-rw-r--r--patches/source/expat/slack-desc19
-rw-r--r--patches/source/freetype/freetype.CVE-2017-8287.diff31
-rwxr-xr-xpatches/source/freetype/freetype.SlackBuild123
-rw-r--r--patches/source/freetype/freetype.illadvisederror.diff31
-rw-r--r--patches/source/freetype/freetype.subpixel.rendering.diff12
-rw-r--r--patches/source/freetype/slack-desc19
-rw-r--r--patches/source/gcc/0001-i386-Move-struct-ix86_frame-to-machine_function.diff239
-rw-r--r--patches/source/gcc/0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.diff72
-rw-r--r--patches/source/gcc/0003-i386-More-use-reference-of-struct-ix86_frame-to-avoi.diff59
-rw-r--r--patches/source/gcc/0004-i386-Don-t-use-reference-of-struct-ix86_frame.diff63
-rw-r--r--patches/source/gcc/0005-x86-Add-mindirect-branch-doc.diff279
-rw-r--r--patches/source/gcc/0005-x86-Add-mindirect-branch.diff1870
-rw-r--r--patches/source/gcc/0006-x86-Add-mfunction-return-doc.diff300
-rw-r--r--patches/source/gcc/0006-x86-Add-mfunction-return.diff1409
-rw-r--r--patches/source/gcc/0007-x86-Add-mindirect-branch-register-doc.diff231
-rw-r--r--patches/source/gcc/0007-x86-Add-mindirect-branch-register.diff812
-rw-r--r--patches/source/gcc/0008-x86-Add-V-register-operand-modifier-doc.diff65
-rw-r--r--patches/source/gcc/0008-x86-Add-V-register-operand-modifier.diff125
-rw-r--r--patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-.diff275
-rw-r--r--patches/source/gcc/0009-x86-Disallow-mindirect-branch-mfunction-return-with-doc.diff102
-rw-r--r--patches/source/gcc/antlr-runtime-3.4.jarbin0 -> 164368 bytes
-rw-r--r--patches/source/gcc/c89.sh10
-rw-r--r--patches/source/gcc/c99.sh10
-rw-r--r--patches/source/gcc/create_gcj_jvm.sh93
-rw-r--r--patches/source/gcc/ecj-4.9.jarbin0 -> 1619429 bytes
-rw-r--r--patches/source/gcc/ecj.sh5
-rw-r--r--patches/source/gcc/ecj.url1
-rw-r--r--patches/source/gcc/fastjar-patches/1000-fastjar-0.97-segfault.patch29
-rw-r--r--patches/source/gcc/fastjar-patches/1001-fastjar-0.97-len1.patch16
-rw-r--r--patches/source/gcc/fastjar-patches/1002-fastjar-0.97-filename0.patch14
-rw-r--r--patches/source/gcc/fastjar-patches/1003-fastjar-CVE-2010-0831.patch102
-rw-r--r--patches/source/gcc/fastjar-patches/1004-fastjar-man.patch27
-rw-r--r--patches/source/gcc/gcc-no_fixincludes.diff27
-rwxr-xr-xpatches/source/gcc/gcc.SlackBuild827
-rw-r--r--patches/source/gcc/slack-desc.gcc19
-rw-r--r--patches/source/gcc/slack-desc.gcc-g++19
-rw-r--r--patches/source/gcc/slack-desc.gcc-gfortran19
-rw-r--r--patches/source/gcc/slack-desc.gcc-gnat19
-rw-r--r--patches/source/gcc/slack-desc.gcc-go19
-rw-r--r--patches/source/gcc/slack-desc.gcc-java19
-rw-r--r--patches/source/gcc/slack-desc.gcc-objc19
-rwxr-xr-xpatches/source/gd/gd.SlackBuild122
-rw-r--r--patches/source/gd/slack-desc19
-rw-r--r--patches/source/gegl/0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch68
-rw-r--r--patches/source/gegl/gegl-0.2.0-CVE-2012-4433.patch159
-rw-r--r--patches/source/gegl/gegl-0.2.0-libopenraw.patch71
-rw-r--r--patches/source/gegl/gegl-0.2.0-linker-flags.patch36
-rw-r--r--patches/source/gegl/gegl-0.2.0-lua-5.2.patch53
-rw-r--r--patches/source/gegl/gegl-0.2.0-remove-src-over-op.patch195
-rwxr-xr-xpatches/source/gegl/gegl.SlackBuild116
-rw-r--r--patches/source/gegl/slack-desc19
-rwxr-xr-xpatches/source/getmail/getmail.SlackBuild65
-rw-r--r--patches/source/getmail/slack-desc19
-rwxr-xr-xpatches/source/gimp/gimp.SlackBuild136
-rw-r--r--patches/source/gimp/slack-desc19
-rw-r--r--patches/source/git/git-2.14.1.tar.signbin0 -> 543 bytes
-rwxr-xr-xpatches/source/git/git.SlackBuild170
-rw-r--r--patches/source/git/git.url1
-rw-r--r--patches/source/git/slack-desc19
-rwxr-xr-xpatches/source/gkrellm/gkrellm.SlackBuild149
-rw-r--r--patches/source/gkrellm/gkrellm.theme.defaults.diff11
-rw-r--r--patches/source/gkrellm/slack-desc19
-rw-r--r--patches/source/glib2/0001-GDBusProxy-Fix-a-memory-leak-during-initialization.patch25
-rw-r--r--patches/source/glib2/doinst.sh32
-rw-r--r--patches/source/glib2/glib.bug.758823.diff40
-rwxr-xr-xpatches/source/glib2/glib2.SlackBuild145
-rw-r--r--patches/source/glib2/libglib2.csh27
-rw-r--r--patches/source/glib2/libglib2.sh26
-rw-r--r--patches/source/glib2/slack-desc19
-rw-r--r--patches/source/glibc-zoneinfo/doinst.sh57
-rwxr-xr-xpatches/source/glibc-zoneinfo/glibc-zoneinfo.SlackBuild147
-rw-r--r--patches/source/glibc-zoneinfo/slack-desc19
-rwxr-xr-xpatches/source/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh60
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/00132
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/01585
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/0228
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/03585
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/0433
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/parts/README2
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/setup.timeconfig3
-rw-r--r--patches/source/glibc-zoneinfo/timezone-scripts/timeconfig1363
-rw-r--r--patches/source/glibc/doinst.sh-glibc179
-rw-r--r--patches/source/glibc/doinst.sh-glibc-solibs137
-rw-r--r--patches/source/glibc/glibc-2.10-dns-no-gethostbyname4.diff26
-rw-r--r--patches/source/glibc/glibc-c-utf8-locale.patch251
-rwxr-xr-xpatches/source/glibc/glibc-cvs-checkout.sh3
-rw-r--r--patches/source/glibc/glibc.3776f38f.diff52
-rw-r--r--patches/source/glibc/glibc.46703a39.diff119
-rw-r--r--patches/source/glibc/glibc.6a824767.dont.assert.on.older.intel.cpus.diff32
-rw-r--r--patches/source/glibc/glibc.CVE-2017-1000366.3c7cd212.diff32
-rwxr-xr-xpatches/source/glibc/glibc.SlackBuild440
-rw-r--r--patches/source/glibc/glibc.adc7e06f.diff38
-rw-r--r--patches/source/glibc/glibc.c69d4a0f.diff201
-rw-r--r--patches/source/glibc/glibc.ldd.trace.through.dynamic.linker.diff49
-rw-r--r--patches/source/glibc/glibc.locale.no-archive.diff10
-rw-r--r--patches/source/glibc/glibc.make-3.82.diff28
-rw-r--r--patches/source/glibc/glibc.revert.to.fix.build.breakages.diff13
-rw-r--r--patches/source/glibc/glibc.ru_RU.CP1251.diff10
-rw-r--r--patches/source/glibc/is_IS.diff19
-rwxr-xr-xpatches/source/glibc/profile.d/glibc.csh.new9
-rwxr-xr-xpatches/source/glibc/profile.d/glibc.sh.new8
-rw-r--r--patches/source/glibc/slack-desc.glibc19
-rw-r--r--patches/source/glibc/slack-desc.glibc-debug19
-rw-r--r--patches/source/glibc/slack-desc.glibc-i18n19
-rw-r--r--patches/source/glibc/slack-desc.glibc-profile19
-rw-r--r--patches/source/glibc/slack-desc.glibc-solibs19
-rw-r--r--patches/source/glibc/slack-desc.glibc-solibs-linuxthreads18
-rwxr-xr-xpatches/source/gnupg/gnupg.SlackBuild115
-rw-r--r--patches/source/gnupg/slack-desc.gnupg19
-rwxr-xr-xpatches/source/gnutls/gnutls.SlackBuild141
-rw-r--r--patches/source/gnutls/slack-desc19
-rw-r--r--patches/source/gtk+2/doinst.sh26
-rw-r--r--patches/source/gtk+2/fix_build_issues_on_tutorial_and_faq.diff26
-rw-r--r--patches/source/gtk+2/gtk+-2.24.x.icon-compat.am.diff264
-rw-r--r--patches/source/gtk+2/gtk+-2.24.x.icon-compat.diff264
-rwxr-xr-xpatches/source/gtk+2/gtk+2.SlackBuild203
-rw-r--r--patches/source/gtk+2/gtk.gtk-faq.diff11
-rw-r--r--patches/source/gtk+2/gtk.gtk-tut.diff11
-rw-r--r--patches/source/gtk+2/gtk.xid.nowarningflood.diff12
-rwxr-xr-xpatches/source/gtk+2/profile.d/gtk+.csh2
-rwxr-xr-xpatches/source/gtk+2/profile.d/gtk+.sh4
-rw-r--r--patches/source/gtk+2/slack-desc19
-rw-r--r--patches/source/gtk+2/update-gtk-immodules12
-rw-r--r--patches/source/gtk+2/update-gtk-immodules-2.048
-rw-r--r--patches/source/httpd/apache-2.4.CVE-2017-9798.optionsbleed.patch15
-rw-r--r--patches/source/httpd/doinst.sh71
-rwxr-xr-xpatches/source/httpd/httpd.SlackBuild246
-rw-r--r--patches/source/httpd/httpd.runasapache.diff13
-rw-r--r--patches/source/httpd/httpd.url2
-rw-r--r--patches/source/httpd/logrotate.httpd12
-rw-r--r--patches/source/httpd/rc.httpd44
-rw-r--r--patches/source/httpd/slack-desc19
-rw-r--r--patches/source/intltool/intltool-0.51.0-perl-5.22.patch44
-rwxr-xr-xpatches/source/intltool/intltool.SlackBuild132
-rw-r--r--patches/source/intltool/no-guess-builddir.diff31
-rw-r--r--patches/source/intltool/slack-desc19
-rw-r--r--patches/source/irssi/doinst.sh12
-rwxr-xr-xpatches/source/irssi/irssi.SlackBuild143
-rw-r--r--patches/source/irssi/slack-desc19
-rwxr-xr-xpatches/source/kdelibs/KDE.SlackBuild532
-rw-r--r--patches/source/kdelibs/KDE.options58
-rw-r--r--patches/source/kdelibs/build/kdelibs1
-rw-r--r--patches/source/kdelibs/cmake/kdelibs17
-rw-r--r--patches/source/kdelibs/doinst.sh/kdelibs9
-rwxr-xr-xpatches/source/kdelibs/kdelibs.SlackBuild2
-rw-r--r--patches/source/kdelibs/modularize268
-rw-r--r--patches/source/kdelibs/modules/kdelibs1
-rw-r--r--patches/source/kdelibs/noarch5
-rw-r--r--patches/source/kdelibs/package-blacklist9
-rw-r--r--patches/source/kdelibs/patch/kdelibs.patch14
-rw-r--r--patches/source/kdelibs/patch/kdelibs/coding-style-fixes.patch62
-rw-r--r--patches/source/kdelibs/patch/kdelibs/kdelibs.docbook.patch11
-rw-r--r--patches/source/kdelibs/patch/kdelibs/kdelibs.upnp_conditional.patch15
-rw-r--r--patches/source/kdelibs/patch/kdelibs/return-application-icons-properly.patch56
-rw-r--r--patches/source/kdelibs/patch/kdelibs/return-not-break.-copy-paste-error.patch31
-rw-r--r--patches/source/kdelibs/post-install/kdelibs.post-install2
-rw-r--r--patches/source/kdelibs/slack-desc/kdelibs19
-rw-r--r--patches/source/libX11/arch.use.flags9
-rw-r--r--patches/source/libX11/build/libX111
-rw-r--r--patches/source/libX11/configure/libX1112
-rwxr-xr-xpatches/source/libX11/libX11.SlackBuild2
-rw-r--r--patches/source/libX11/modularize279
-rw-r--r--patches/source/libX11/noarch75
-rw-r--r--patches/source/libX11/package-blacklist44
-rw-r--r--patches/source/libX11/post-install/libX11.post-install2
-rw-r--r--patches/source/libX11/slack-desc/libX1119
-rwxr-xr-xpatches/source/libX11/x11.SlackBuild381
-rw-r--r--patches/source/libXcursor/arch.use.flags7
-rwxr-xr-xpatches/source/libXcursor/build/increment.sh17
-rw-r--r--patches/source/libXcursor/build/libXcursor1
-rw-r--r--patches/source/libXcursor/configure/configure12
-rwxr-xr-xpatches/source/libXcursor/libXcursor.SlackBuild26
-rw-r--r--patches/source/libXcursor/modularize272
-rw-r--r--patches/source/libXcursor/noarch76
-rw-r--r--patches/source/libXcursor/package-blacklist43
-rw-r--r--patches/source/libXcursor/slack-desc/libXcursor19
-rwxr-xr-xpatches/source/libXcursor/x11-build-script.sh374
-rw-r--r--patches/source/libXfixes/arch.use.flags9
-rw-r--r--patches/source/libXfixes/build/libXfixes1
-rw-r--r--patches/source/libXfixes/configure/configure13
-rwxr-xr-xpatches/source/libXfixes/libXfixes.SlackBuild2
-rw-r--r--patches/source/libXfixes/modularize279
-rw-r--r--patches/source/libXfixes/noarch75
-rw-r--r--patches/source/libXfixes/package-blacklist44
-rw-r--r--patches/source/libXfixes/slack-desc/libXfixes19
-rwxr-xr-xpatches/source/libXfixes/x11.SlackBuild381
-rw-r--r--patches/source/libXfont/arch.use.flags7
-rwxr-xr-xpatches/source/libXfont/build/increment.sh17
-rw-r--r--patches/source/libXfont/build/libXfont1
-rw-r--r--patches/source/libXfont/configure/configure12
-rwxr-xr-xpatches/source/libXfont/libXfont.SlackBuild26
-rw-r--r--patches/source/libXfont/modularize272
-rw-r--r--patches/source/libXfont/noarch76
-rw-r--r--patches/source/libXfont/package-blacklist43
-rw-r--r--patches/source/libXfont/patch/libXfont.patch1
-rw-r--r--patches/source/libXfont/patch/libXfont/libXfont.CVE-2017-16611.diff105
-rw-r--r--patches/source/libXfont/slack-desc/libXfont19
-rwxr-xr-xpatches/source/libXfont/x11-build-script.sh374
-rw-r--r--patches/source/libXi/arch.use.flags9
-rw-r--r--patches/source/libXi/build/libXi1
-rw-r--r--patches/source/libXi/configure/configure13
-rwxr-xr-xpatches/source/libXi/libXi.SlackBuild2
-rw-r--r--patches/source/libXi/modularize279
-rw-r--r--patches/source/libXi/noarch75
-rw-r--r--patches/source/libXi/package-blacklist44
-rw-r--r--patches/source/libXi/slack-desc/libXi19
-rw-r--r--patches/source/libXi/slack-desc/libXinerama19
-rwxr-xr-xpatches/source/libXi/x11.SlackBuild381
-rw-r--r--patches/source/libXrandr/arch.use.flags9
-rw-r--r--patches/source/libXrandr/build/libXrandr1
-rw-r--r--patches/source/libXrandr/configure/configure13
-rwxr-xr-xpatches/source/libXrandr/libXrandr.SlackBuild2
-rw-r--r--patches/source/libXrandr/modularize279
-rw-r--r--patches/source/libXrandr/noarch75
-rw-r--r--patches/source/libXrandr/package-blacklist44
-rw-r--r--patches/source/libXrandr/slack-desc/libXrandr19
-rwxr-xr-xpatches/source/libXrandr/x11.SlackBuild381
-rw-r--r--patches/source/libXrender/arch.use.flags9
-rw-r--r--patches/source/libXrender/build/libXrender1
-rw-r--r--patches/source/libXrender/configure/configure13
-rwxr-xr-xpatches/source/libXrender/libXrender.SlackBuild2
-rw-r--r--patches/source/libXrender/modularize279
-rw-r--r--patches/source/libXrender/noarch75
-rw-r--r--patches/source/libXrender/package-blacklist44
-rw-r--r--patches/source/libXrender/slack-desc/libXrender19
-rwxr-xr-xpatches/source/libXrender/x11.SlackBuild381
-rw-r--r--patches/source/libXres/arch.use.flags9
-rw-r--r--patches/source/libXres/build/libXres1
-rw-r--r--patches/source/libXres/configure/configure13
-rwxr-xr-xpatches/source/libXres/libXres.SlackBuild2
-rw-r--r--patches/source/libXres/modularize279
-rw-r--r--patches/source/libXres/noarch75
-rw-r--r--patches/source/libXres/package-blacklist44
-rw-r--r--patches/source/libXres/slack-desc/libXres19
-rwxr-xr-xpatches/source/libXres/x11.SlackBuild381
-rw-r--r--patches/source/libXtst/arch.use.flags9
-rw-r--r--patches/source/libXtst/build/libXtst1
-rw-r--r--patches/source/libXtst/configure/configure13
-rwxr-xr-xpatches/source/libXtst/libXtst.SlackBuild2
-rw-r--r--patches/source/libXtst/modularize279
-rw-r--r--patches/source/libXtst/noarch75
-rw-r--r--patches/source/libXtst/package-blacklist44
-rw-r--r--patches/source/libXtst/slack-desc/libXtst19
-rwxr-xr-xpatches/source/libXtst/x11.SlackBuild381
-rw-r--r--patches/source/libXv/arch.use.flags9
-rw-r--r--patches/source/libXv/build/libXv1
-rw-r--r--patches/source/libXv/configure/configure13
-rwxr-xr-xpatches/source/libXv/libXv.SlackBuild2
-rw-r--r--patches/source/libXv/modularize279
-rw-r--r--patches/source/libXv/noarch75
-rw-r--r--patches/source/libXv/package-blacklist44
-rw-r--r--patches/source/libXv/slack-desc/libXv19
-rw-r--r--patches/source/libXv/slack-desc/libXvMC19
-rwxr-xr-xpatches/source/libXv/x11.SlackBuild381
-rw-r--r--patches/source/libXvMC/arch.use.flags9
-rw-r--r--patches/source/libXvMC/build/libXvMC1
-rw-r--r--patches/source/libXvMC/configure/configure13
-rwxr-xr-xpatches/source/libXvMC/libXvMC.SlackBuild2
-rw-r--r--patches/source/libXvMC/modularize279
-rw-r--r--patches/source/libXvMC/noarch75
-rw-r--r--patches/source/libXvMC/package-blacklist44
-rw-r--r--patches/source/libXvMC/slack-desc/libXvMC19
-rwxr-xr-xpatches/source/libXvMC/x11.SlackBuild381
-rw-r--r--patches/source/libcgroup/doinst.sh43
-rwxr-xr-xpatches/source/libcgroup/libcgroup.SlackBuild171
-rw-r--r--patches/source/libcgroup/libcgroup.conf.diff8
-rw-r--r--patches/source/libcgroup/libcgroup.init.diff136
-rw-r--r--patches/source/libcgroup/slack-desc19
-rwxr-xr-xpatches/source/libgcrypt/libgcrypt.SlackBuild127
-rw-r--r--patches/source/libgcrypt/slack-desc19
-rwxr-xr-xpatches/source/libidn/libidn.SlackBuild137
-rw-r--r--patches/source/libidn/slack-desc19
-rwxr-xr-xpatches/source/libpcap/libpcap.SlackBuild128
-rw-r--r--patches/source/libpcap/slack-desc19
-rwxr-xr-xpatches/source/libplist/libplist.SlackBuild138
-rw-r--r--patches/source/libplist/slack-desc19
-rwxr-xr-xpatches/source/libpng/libpng.SlackBuild142
-rw-r--r--patches/source/libpng/libpng.url1
-rw-r--r--patches/source/libpng/slack-desc19
-rw-r--r--patches/source/libsoup/libsoup.CVE-2017-2885.diff43
-rwxr-xr-xpatches/source/libsoup/libsoup.SlackBuild101
-rw-r--r--patches/source/libsoup/slack-desc19
-rw-r--r--patches/source/libtiff/libtiff-am-version.patch31
-rwxr-xr-xpatches/source/libtiff/libtiff.SlackBuild120
-rw-r--r--patches/source/libtiff/slack-desc19
-rw-r--r--patches/source/libtirpc/doinst.sh13
-rwxr-xr-xpatches/source/libtirpc/libtirpc.SlackBuild164
-rw-r--r--patches/source/libtirpc/slack-desc19
-rw-r--r--patches/source/libtool/doinst.sh18
-rwxr-xr-xpatches/source/libtool/libtool.SlackBuild104
-rw-r--r--patches/source/libtool/libtool.no.moved.warning.diff42
-rw-r--r--patches/source/libtool/slack-desc19
-rwxr-xr-xpatches/source/libvorbis/libvorbis.SlackBuild102
-rw-r--r--patches/source/libvorbis/slack-desc19
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2004-0941.patch17
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2006-3376.patch27
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-0455.patch11
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-2756.patch16
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3472.patch61
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3473.patch13
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2007-3477.patch38
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2009-3546.patch13
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch118
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4695.patch56
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2015-4696.patch23
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10167.patch30
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-10168.patch14
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9011.patch36
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2016-9317.patch21
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-CVE-2017-6362.patch32
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-fallbackfont.patch18
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-pixbufloaderdir.patch14
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-reducesymbols.patch520
-rw-r--r--patches/source/libwmf/libwmf-0.2.8.4-useafterfree.patch10
-rwxr-xr-xpatches/source/libwmf/libwmf.SlackBuild142
-rw-r--r--patches/source/libwmf/libwmf.png14.diff11
-rw-r--r--patches/source/libwmf/slack-desc19
-rwxr-xr-xpatches/source/libxml2/libxml2.SlackBuild112
-rw-r--r--patches/source/libxml2/libxml2.do-not-check-crc.diff35
-rw-r--r--patches/source/libxml2/slack-desc19
-rw-r--r--patches/source/libzip/libzip.CVE-2017-14107.diff14
-rwxr-xr-xpatches/source/libzip/libzip.SlackBuild140
-rw-r--r--patches/source/libzip/slack-desc19
-rwxr-xr-xpatches/source/loudmouth/loudmouth.SlackBuild133
-rw-r--r--patches/source/loudmouth/slack-desc19
-rw-r--r--patches/source/lynx/doinst.sh13
-rwxr-xr-xpatches/source/lynx/lynx.SlackBuild155
-rw-r--r--patches/source/lynx/lynx.cfg.diff31
-rw-r--r--patches/source/lynx/slack-desc19
-rw-r--r--patches/source/mariadb/doinst.sh28
-rwxr-xr-xpatches/source/mariadb/mariadb.SlackBuild199
-rw-r--r--patches/source/mariadb/mirror.url1
-rw-r--r--patches/source/mariadb/rc.mysqld102
-rw-r--r--patches/source/mariadb/slack-desc19
-rwxr-xr-xpatches/source/mcabber/mcabber.SlackBuild128
-rw-r--r--patches/source/mcabber/slack-desc19
-rw-r--r--patches/source/mercurial/doinst.sh13
-rwxr-xr-xpatches/source/mercurial/mercurial.SlackBuild109
-rw-r--r--patches/source/mercurial/slack-desc22
-rw-r--r--patches/source/minicom/config.sub-x86_64.diff20
-rw-r--r--patches/source/minicom/doinst.sh15
-rw-r--r--patches/source/minicom/lrzsz_0.12.21-5.diff4194
-rwxr-xr-xpatches/source/minicom/minicom.SlackBuild160
-rw-r--r--patches/source/minicom/minicom.users36
-rw-r--r--patches/source/minicom/slack-desc19
-rw-r--r--patches/source/mkinitrd/README.initrd99
l---------patches/source/mkinitrd/busybox-dot-config1
-rw-r--r--patches/source/mkinitrd/busybox-dot-config.1.20.x1024
-rw-r--r--patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-kernel_ver.patch25
-rw-r--r--patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-ntpd.patch11
-rw-r--r--patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-pkg-config-selinux.patch67
-rw-r--r--patches/source/mkinitrd/fixes-1.20.2/busybox-1.20.2-sys-resource.patch123
-rwxr-xr-xpatches/source/mkinitrd/init350
-rw-r--r--patches/source/mkinitrd/mkinitrd740
-rw-r--r--patches/source/mkinitrd/mkinitrd.8279
-rwxr-xr-xpatches/source/mkinitrd/mkinitrd.SlackBuild146
-rw-r--r--patches/source/mkinitrd/mkinitrd.conf.5244
-rw-r--r--patches/source/mkinitrd/mkinitrd.conf.sample21
-rw-r--r--patches/source/mkinitrd/mkinitrd_command_generator.8187
-rw-r--r--patches/source/mkinitrd/mkinitrd_command_generator.sh872
-rw-r--r--patches/source/mkinitrd/slack-desc19
-rw-r--r--patches/source/mozilla-firefox/autoconf/autoconf-2.13-consolidated_fixes-1.patch504
-rwxr-xr-xpatches/source/mozilla-firefox/autoconf/autoconf.build81
-rw-r--r--patches/source/mozilla-firefox/build-with-clang.diff13
-rw-r--r--patches/source/mozilla-firefox/firefox.moz_plugin_path.diff17
-rwxr-xr-xpatches/source/mozilla-firefox/gold/gold2
l---------patches/source/mozilla-firefox/gold/ld1
-rw-r--r--patches/source/mozilla-firefox/mimeTypes.rdf28
-rw-r--r--patches/source/mozilla-firefox/mozilla-firefox-mimeTypes-fix.diff45
-rwxr-xr-xpatches/source/mozilla-firefox/mozilla-firefox.SlackBuild307
-rw-r--r--patches/source/mozilla-firefox/mozilla-firefox.desktop80
-rw-r--r--patches/source/mozilla-firefox/slack-desc19
-rw-r--r--patches/source/mozilla-nss/MPL-1.1.txt470
-rw-r--r--patches/source/mozilla-nss/faq.html364
-rw-r--r--patches/source/mozilla-nss/gpl-2.0.txt339
-rw-r--r--patches/source/mozilla-nss/lgpl-2.1.txt504
-rwxr-xr-xpatches/source/mozilla-nss/mozilla-nss.SlackBuild186
-rw-r--r--patches/source/mozilla-nss/nss-config.in145
-rw-r--r--patches/source/mozilla-nss/slack-desc19
-rw-r--r--patches/source/mozilla-thunderbird/autoconf/autoconf-2.13-consolidated_fixes-1.patch504
-rwxr-xr-xpatches/source/mozilla-thunderbird/autoconf/autoconf.build81
-rwxr-xr-xpatches/source/mozilla-thunderbird/gold/gold2
l---------patches/source/mozilla-thunderbird/gold/ld1
-rw-r--r--patches/source/mozilla-thunderbird/mozilla-firefox.xpcom_arm.patch18
-rwxr-xr-xpatches/source/mozilla-thunderbird/mozilla-thunderbird.SlackBuild247
-rw-r--r--patches/source/mozilla-thunderbird/mozilla-thunderbird.desktop84
-rw-r--r--patches/source/mozilla-thunderbird/slack-desc19
-rw-r--r--patches/source/mozilla-thunderbird/thunderbird.pngbin0 -> 47617 bytes
-rwxr-xr-xpatches/source/nasm/nasm.SlackBuild90
-rw-r--r--patches/source/nasm/slack-desc19
-rw-r--r--patches/source/network-manager-applet/doinst.sh16
-rwxr-xr-xpatches/source/network-manager-applet/network-manager-applet.SlackBuild124
-rw-r--r--patches/source/network-manager-applet/slack-desc19
-rw-r--r--patches/source/ntp/doinst.sh28
-rwxr-xr-xpatches/source/ntp/ntp.SlackBuild158
-rw-r--r--patches/source/ntp/ntp.conf72
-rw-r--r--patches/source/ntp/ntp.keys2
-rw-r--r--patches/source/ntp/ntp.nano.diff17
-rw-r--r--patches/source/ntp/rc.ntpd56
-rw-r--r--patches/source/ntp/slack-desc19
-rw-r--r--patches/source/openexr/openexr.CVE-2017-9110-to-9116.patch82
-rwxr-xr-xpatches/source/openexr/openexr.SlackBuild113
-rw-r--r--patches/source/openexr/slack-desc19
-rwxr-xr-xpatches/source/openjpeg/openjpeg.SlackBuild121
-rw-r--r--patches/source/openjpeg/openjpeg2_remove-thirdparty.patch11
-rw-r--r--patches/source/openjpeg/slack-desc19
-rw-r--r--patches/source/openssh/doinst.sh49
-rw-r--r--patches/source/openssh/openssh-7.4p1-libwrap.diff137
-rw-r--r--patches/source/openssh/openssh.CVE-2017-15906.patch19
-rwxr-xr-xpatches/source/openssh/openssh.SlackBuild169
-rw-r--r--patches/source/openssh/rc.sshd59
-rw-r--r--patches/source/openssh/slack-desc19
-rw-r--r--patches/source/openssl/certwatch130
-rw-r--r--patches/source/openssl/doinst.sh-openssl26
-rw-r--r--patches/source/openssl/doinst.sh-openssl-solibs12
-rwxr-xr-xpatches/source/openssl/openssl.SlackBuild223
-rw-r--r--patches/source/openssl/slack-desc.openssl19
-rw-r--r--patches/source/openssl/slack-desc.openssl-solibs19
-rw-r--r--patches/source/openvpn/README26
-rw-r--r--patches/source/openvpn/doinst.sh25
-rwxr-xr-xpatches/source/openvpn/openvpn.SlackBuild169
-rw-r--r--patches/source/openvpn/openvpn.url2
-rw-r--r--patches/source/openvpn/rc.openvpn111
-rw-r--r--patches/source/openvpn/slack-desc19
-rw-r--r--patches/source/openvpn/slackware.conf178
-rw-r--r--patches/source/patch/0001-Refuse-to-apply-ed-scripts-by-default.patch178
-rwxr-xr-xpatches/source/patch/patch.SlackBuild131
-rw-r--r--patches/source/patch/slack-desc19
-rw-r--r--patches/source/php/doinst.sh30
-rwxr-xr-xpatches/source/php/fetch-php.sh2
-rw-r--r--patches/source/php/mod_php.conf.example29
-rw-r--r--patches/source/php/php-fpm.conf.diff28
-rwxr-xr-xpatches/source/php/php.SlackBuild312
-rw-r--r--patches/source/php/php.ini-development.diff61
-rw-r--r--patches/source/php/slack-desc19
-rw-r--r--patches/source/pidgin/doinst.sh10
-rw-r--r--patches/source/pidgin/fix-gmain_h-compile-error.diff17
-rwxr-xr-xpatches/source/pidgin/pidgin.SlackBuild231
-rw-r--r--patches/source/pidgin/slack-desc19
-rw-r--r--patches/source/pkg-config/doinst.sh9
-rwxr-xr-xpatches/source/pkg-config/pkg-config.SlackBuild120
-rwxr-xr-xpatches/source/pkg-config/scripts/pkgconfig.csh6
-rwxr-xr-xpatches/source/pkg-config/scripts/pkgconfig.sh7
-rw-r--r--patches/source/pkg-config/slack-desc19
-rwxr-xr-xpatches/source/procps-ng/procps-ng.SlackBuild251
-rw-r--r--patches/source/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff25
-rw-r--r--patches/source/procps-ng/slack-desc19
-rw-r--r--patches/source/proftpd/doinst.sh18
-rw-r--r--patches/source/proftpd/etc/ftpusers22
-rw-r--r--patches/source/proftpd/etc/proftpd.conf74
-rwxr-xr-xpatches/source/proftpd/proftpd.SlackBuild139
-rw-r--r--patches/source/proftpd/slack-desc19
-rwxr-xr-xpatches/source/python/python.SlackBuild167
-rw-r--r--patches/source/python/python.no-static-library.diff49
-rw-r--r--patches/source/python/python.readline.set_pre_input_hook.diff12
-rw-r--r--patches/source/python/python.x86_64.diff174
-rw-r--r--patches/source/python/slack-desc19
-rw-r--r--patches/source/rpcbind/0001-man-rpcibind.8-Clarify-state-file-usage-and-history.patch39
-rw-r--r--patches/source/rpcbind/0002-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch218
-rw-r--r--patches/source/rpcbind/0003-pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch29
-rw-r--r--patches/source/rpcbind/0004-rpcbind-fix-building-without-enable-debug.patch69
-rw-r--r--patches/source/rpcbind/0005-rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch96
-rw-r--r--patches/source/rpcbind/0006-rpcbproc_callit_com-No-need-to-allocate-output-buffe.patch96
-rw-r--r--patches/source/rpcbind/01.rpcbind-manpage-statefile-explanation.patch25
-rw-r--r--patches/source/rpcbind/doinst.sh24
-rw-r--r--patches/source/rpcbind/rc.rpc64
-rwxr-xr-xpatches/source/rpcbind/rpcbind.SlackBuild155
-rw-r--r--patches/source/rpcbind/rpcbind.lwrap.needs.lnsl.diff14
-rw-r--r--patches/source/rpcbind/slack-desc19
-rwxr-xr-xpatches/source/rsync/rsync.SlackBuild110
-rw-r--r--patches/source/rsync/slack-desc19
-rwxr-xr-xpatches/source/ruby/ruby.SlackBuild138
-rw-r--r--patches/source/ruby/slack-desc19
-rw-r--r--patches/source/rxvt/rxvt-integer-overflow-fix.patch11
-rwxr-xr-xpatches/source/rxvt/rxvt.SlackBuild127
-rw-r--r--patches/source/rxvt/rxvt.utempter.diff277
-rw-r--r--patches/source/rxvt/slack-desc19
-rw-r--r--patches/source/samba/doinst.sh42
-rw-r--r--patches/source/samba/pytalloc-util.pc11
-rw-r--r--patches/source/samba/rc.samba48
-rw-r--r--patches/source/samba/samba-4.4.16-CVE-2018-1057.patch903
-rw-r--r--patches/source/samba/samba-4.5.14-security-2017-11-21.patch110
-rwxr-xr-xpatches/source/samba/samba.SlackBuild224
-rw-r--r--patches/source/samba/samba.install.talloc.tevent.tdb.diff102
-rw-r--r--patches/source/samba/samba.url2
-rw-r--r--patches/source/samba/slack-desc19
-rw-r--r--patches/source/samba/smb.conf.default223
-rw-r--r--patches/source/samba/smb.conf.default.orig223
-rw-r--r--patches/source/samba/smb.conf.diff29
-rw-r--r--patches/source/samba/talloc.pc11
-rw-r--r--patches/source/scim/scim-setup.desktop28
-rwxr-xr-xpatches/source/scim/scim.SlackBuild250
-rw-r--r--patches/source/scim/scim.desktop20
-rw-r--r--patches/source/scim/slack-desc19
-rw-r--r--patches/source/screen/26source_encoding.patch353
-rw-r--r--patches/source/screen/45suppress_remap.patch13
-rw-r--r--patches/source/screen/52fix_screen_utf8_nfd.patch41
-rw-r--r--patches/source/screen/58-show-encoding-hardstatus.patch41
-rw-r--r--patches/source/screen/60-revert-screenrc-change.diff13
-rwxr-xr-xpatches/source/screen/screen.SlackBuild158
-rw-r--r--patches/source/screen/screen.no_libelf.diff19
-rw-r--r--patches/source/screen/slack-desc19
-rw-r--r--patches/source/sdl/SDL_mixer.usrlocal.diff11
-rw-r--r--patches/source/sdl/SDL_ttf.shaded.text.diff11
-rw-r--r--patches/source/sdl/libsdl-1.2.15-resizing.patch63
-rw-r--r--patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch23
-rwxr-xr-xpatches/source/sdl/sdl.SlackBuild255
-rw-r--r--patches/source/sdl/slack-desc19
-rw-r--r--patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch504
-rwxr-xr-xpatches/source/seamonkey/autoconf/autoconf.build81
-rw-r--r--patches/source/seamonkey/doinst.sh11
-rwxr-xr-xpatches/source/seamonkey/gold/gold2
l---------patches/source/seamonkey/gold/ld1
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-gtkmozembed.pc11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-libxul.pc11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-nspr.pc12
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-nss.pc11
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-plugin.pc10
-rw-r--r--patches/source/seamonkey/pkgconfig/seamonkey-xpcom.pc12
-rw-r--r--patches/source/seamonkey/seamonkey-icon.pngbin0 -> 12796 bytes
-rw-r--r--patches/source/seamonkey/seamonkey-mail-icon.pngbin0 -> 185 bytes
-rw-r--r--patches/source/seamonkey/seamonkey-mail.desktop8
-rwxr-xr-xpatches/source/seamonkey/seamonkey.SlackBuild289
-rw-r--r--patches/source/seamonkey/seamonkey.desktop9
-rw-r--r--patches/source/seamonkey/slack-desc19
-rw-r--r--patches/source/squashfs-tools/0001-kfreebsd.patch123
-rw-r--r--patches/source/squashfs-tools/0002-fix_phys_mem_calculation.patch159
-rw-r--r--patches/source/squashfs-tools/0003-CVE-2015-4645_and_CVE-2015-4646.patch76
-rw-r--r--patches/source/squashfs-tools/0004-unsquashfs-add-support-for-LZMA-magics.patch102
-rw-r--r--patches/source/squashfs-tools/0006-uptream-fix-race.patch54
-rw-r--r--patches/source/squashfs-tools/0007-fix-2GB-limit-in-mksquashfs.patch27
-rw-r--r--patches/source/squashfs-tools/slack-desc19
-rwxr-xr-xpatches/source/squashfs-tools/squashfs-tools.SlackBuild122
-rw-r--r--patches/source/stunnel/doinst.sh12
-rw-r--r--patches/source/stunnel/generate-stunnel-key.sh13
-rw-r--r--patches/source/stunnel/slack-desc19
-rwxr-xr-xpatches/source/stunnel/stunnel.SlackBuild140
-rwxr-xr-xpatches/source/subversion/get-svn-book.sh9
-rw-r--r--patches/source/subversion/slack-desc19
-rwxr-xr-xpatches/source/subversion/subversion.SlackBuild174
-rw-r--r--patches/source/sudo/doinst.sh14
-rw-r--r--patches/source/sudo/slack-desc19
-rwxr-xr-xpatches/source/sudo/sudo.SlackBuild125
-rw-r--r--patches/source/tcpdump/slack-desc19
-rwxr-xr-xpatches/source/tcpdump/tcpdump.SlackBuild104
-rw-r--r--patches/source/wget/doinst.sh14
-rw-r--r--patches/source/wget/slack-desc19
-rwxr-xr-xpatches/source/wget/wget.SlackBuild109
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch174
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch250
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch184
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch79
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch64
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch132
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch43
-rw-r--r--patches/source/wpa_supplicant/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch82
-rw-r--r--patches/source/wpa_supplicant/2017-1/wpa-packet-number-reuse-with-replayed-messages.txt226
-rw-r--r--patches/source/wpa_supplicant/README.slackware55
-rw-r--r--patches/source/wpa_supplicant/config/dot.config37
-rw-r--r--patches/source/wpa_supplicant/config/wpa_gui.desktop7
-rw-r--r--patches/source/wpa_supplicant/config/wpa_gui.pngbin0 -> 5124 bytes
-rw-r--r--patches/source/wpa_supplicant/config/wpa_supplicant.conf2
-rw-r--r--patches/source/wpa_supplicant/config/wpa_supplicant.logrotate6
-rw-r--r--patches/source/wpa_supplicant/doinst.sh15
-rw-r--r--patches/source/wpa_supplicant/patches/assoc-timeout.diff16
-rw-r--r--patches/source/wpa_supplicant/patches/dbus-service-file-args.diff20
-rw-r--r--patches/source/wpa_supplicant/patches/flush-debug-output.diff50
-rw-r--r--patches/source/wpa_supplicant/patches/quiet-scan-results-message.diff16
-rw-r--r--patches/source/wpa_supplicant/slack-desc18
-rwxr-xr-xpatches/source/wpa_supplicant/wpa_supplicant.SlackBuild181
-rw-r--r--patches/source/xfce4-weather-plugin/slack-desc19
-rwxr-xr-xpatches/source/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild107
-rw-r--r--patches/source/xfce4-weather-plugin/xfce4-weather-plugin.url1
-rw-r--r--patches/source/xorg-server/arch.use.flags7
-rw-r--r--patches/source/xorg-server/build/xorg-server1
-rw-r--r--patches/source/xorg-server/configure/xorg-server53
-rw-r--r--patches/source/xorg-server/makepkg/xorg-server47
-rw-r--r--patches/source/xorg-server/modularize265
-rw-r--r--patches/source/xorg-server/noarch76
-rw-r--r--patches/source/xorg-server/package-blacklist39
-rw-r--r--patches/source/xorg-server/patch/xorg-server.patch15
-rw-r--r--patches/source/xorg-server/patch/xorg-server/x11.startwithblackscreen.diff14
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10971.diff40
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-10972.diff36
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12176.diff31
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12177.diff41
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12178.diff29
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p1.diff42
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12179_p2.diff46
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12180_12181_12182.diff601
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12183.diff95
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-12184_12185_12186_12187.diff139
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13721.diff27
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.CVE-2017-13723.diff116
-rw-r--r--patches/source/xorg-server/patch/xorg-server/xorg-server.combo.mouse.keyboard.layout.patch49
-rw-r--r--patches/source/xorg-server/post-install/xorg-server.post-install66
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server19
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server-xephyr19
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server-xnest19
-rw-r--r--patches/source/xorg-server/slack-desc/xorg-server-xvfb19
-rwxr-xr-xpatches/source/xorg-server/x11.SlackBuild381
-rwxr-xr-xpatches/source/xorg-server/xorg-server.SlackBuild2
-rwxr-xr-xpatches/source/xscreensaver/dump.android.osx.sources.sh14
-rw-r--r--patches/source/xscreensaver/setuid.c274
-rw-r--r--patches/source/xscreensaver/slack-desc19
-rw-r--r--patches/source/xscreensaver/xscreensaver-getimage-file-5.14555
-rwxr-xr-xpatches/source/xscreensaver/xscreensaver.SlackBuild141
-rw-r--r--patches/source/xscreensaver/xscreensaver.electricsheep.diff20
-rw-r--r--patches/source/xscreensaver/xscreensaver.no.expiration.date.diff29
-rw-r--r--patches/source/xscreensaver/xscreensaver.setuid.diff179
836 files changed, 77062 insertions, 0 deletions
diff --git a/patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt b/patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..a316ff4a
--- /dev/null
+++ b/patches/packages/NetworkManager-1.8.4-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+NetworkManager: NetworkManager (Networking that Just Works)
+NetworkManager:
+NetworkManager: The point of NetworkManager is to make networking configuration and
+NetworkManager: setup as painless and automatic as possible. NetworkManager sets IP
+NetworkManager: addresses, default routes, associating with wireless access points
+NetworkManager: or wired LANs, and other network configuration settings in a simple,
+NetworkManager: automated fashion (manual overrides are still possible).
+NetworkManager:
+NetworkManager: Home page: http://projects.gnome.org/NetworkManager/
+NetworkManager:
+NetworkManager:
diff --git a/patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt b/patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..99268883
--- /dev/null
+++ b/patches/packages/bash-4.3.048-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+bash: bash (sh-compatible shell)
+bash:
+bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command
+bash: interpreter that executes commands read from the standard input or
+bash: from a file. Bash also incorporates useful features from the Korn
+bash: and C shells (ksh and csh). Bash is ultimately intended to be a
+bash: conformant implementation of the IEEE Posix Shell and Tools
+bash: specification (IEEE Working Group 1003.2).
+bash:
+bash: Bash must be present for the system to boot properly.
+bash:
diff --git a/patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt b/patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..3289b10d
--- /dev/null
+++ b/patches/packages/bind-9.10.6_P1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+bind: bind (DNS server and utilities)
+bind:
+bind: The named daemon and support utilities such as dig, host, and
+bind: nslookup. Sample configuration files for running a simple caching
+bind: nameserver are included. Documentation for advanced name server
+bind: setup can be found in /usr/doc/bind-9.x.x/.
+bind:
+bind:
+bind:
+bind:
+bind:
diff --git a/patches/packages/bluez-5.47-x86_64-1_slack14.2.txt b/patches/packages/bluez-5.47-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..b4b50d59
--- /dev/null
+++ b/patches/packages/bluez-5.47-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+bluez: bluez (Bluetooth libraries and utilities)
+bluez:
+bluez: Bluez is the Bluetooth stack for Linux, allowing Bluetooth adaptors
+bluez: and devices to be used with Linux. This package contains the Bluez
+bluez: libraries, utilities, and other support files.
+bluez:
+bluez: For more info, visit: http://www.bluez.org
+bluez:
+bluez:
+bluez:
+bluez:
diff --git a/patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt b/patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt
new file mode 100644
index 00000000..a7215388
--- /dev/null
+++ b/patches/packages/ca-certificates-20161130-noarch-1_slack14.2.txt
@@ -0,0 +1,11 @@
+ca-certificates: ca-certificates (PEM Files of CA Certificates)
+ca-certificates:
+ca-certificates: This package includes PEM files of CA certificates to allow SSL-based
+ca-certificates: applications to check for the authenticity of SSL connections.
+ca-certificates:
+ca-certificates: Homepage: http://packages.qa.debian.org/c/ca-certificates.html
+ca-certificates:
+ca-certificates:
+ca-certificates:
+ca-certificates:
+ca-certificates:
diff --git a/patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt b/patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..eda0c0f2
--- /dev/null
+++ b/patches/packages/curl-7.60.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+curl: curl (command line URL data transfer tool)
+curl:
+curl: Curl is a command line tool for transferring data specified with URL
+curl: syntax. The command is designed to work without user interaction or
+curl: any kind of interactivity. Curl offers a busload of useful tricks
+curl: like proxy support, user authentication, ftp upload, HTTP post, SSL
+curl: (https:) connections, cookies, file transfer resume and more.
+curl:
+curl: libcurl is a library that Curl uses to do its job. It is readily
+curl: available to be used by your software, too.
+curl:
diff --git a/patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt b/patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..43166b91
--- /dev/null
+++ b/patches/packages/dbus-1.10.8-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+dbus: dbus (D-Bus message bus system)
+dbus:
+dbus: D-Bus supplies both a system daemon (for events such as "new hardware
+dbus: device added" or "printer queue changed") and a per user login
+dbus: session daemon (for general IPC needs among user applications).
+dbus: Also, the message bus is built on top of a general one-to-one message
+dbus: passing framework, which can be used by any two apps to communicate
+dbus: directly (without going through the message bus daemon).
+dbus:
+dbus:
+dbus:
diff --git a/patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..beaa83c2
--- /dev/null
+++ b/patches/packages/dhcp-4.4.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+dhcp: dhcp (DHCP server and client utilities)
+dhcp:
+dhcp: This package provides the ISC's DHCP utilities, including both a
+dhcp: server and client. The DHCP protocol allows a host to contact a
+dhcp: central server which maintains a list of IP addresses which may be
+dhcp: assigned on one or more subnets. A DHCP client may request an
+dhcp: address from this pool, and then use it temporarily for communication
+dhcp: on the network. The DHCP protocol also provides a mechanism whereby
+dhcp: a client can learn important details about the network to which it is
+dhcp: attached, such as the location of a default router or name server.
+dhcp:
diff --git a/patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..4029c10f
--- /dev/null
+++ b/patches/packages/dnsmasq-2.78-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+dnsmasq: dnsmasq (small DNS and DHCP server)
+dnsmasq:
+dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP
+dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a
+dnsmasq: small network, and can serve the names of local machines which are not
+dnsmasq: in the global DNS.
+dnsmasq:
+dnsmasq: Dnsmasq was written by Simon Kelley.
+dnsmasq:
+dnsmasq: Homepage: http://www.thekelleys.org.uk/dnsmasq/
+dnsmasq:
diff --git a/patches/packages/emacs-25.3-x86_64-1_slack14.2.txt b/patches/packages/emacs-25.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..77e793c2
--- /dev/null
+++ b/patches/packages/emacs-25.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+emacs: emacs (GNU Emacs)
+emacs:
+emacs: Emacs is the extensible, customizable, self-documenting real-time
+emacs: display editor. If this seems to be a bit of a mouthful, an
+emacs: easier explanation is that Emacs is a text editor and more. At
+emacs: its core is an interpreter for Emacs Lisp, a dialect of the Lisp
+emacs: programming language with extensions to support text editing.
+emacs: This version supports X.
+emacs:
+emacs: http://www.gnu.org/software/emacs/
+emacs:
diff --git a/patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt b/patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..fcd3a006
--- /dev/null
+++ b/patches/packages/expat-2.2.2-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+expat: expat (C library for parsing XML)
+expat:
+expat: This is Expat, a C library for parsing XML, written by James Clark.
+expat: Expat is a stream-oriented XML parser used by Python, GNOME, Xft2,
+expat: and other things.
+expat:
+expat:
+expat:
+expat:
+expat:
+expat:
diff --git a/patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt b/patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..bf542500
--- /dev/null
+++ b/patches/packages/freetype-2.6.3-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+freetype: freetype (A free, high-quality, and portable font engine)
+freetype:
+freetype: FreeType is a free and portable font rendering engine. It has been
+freetype: developed to provide support for a number of font formats, including
+freetype: TrueType, Type 1, and OpenType, and is designed to be small,
+freetype: efficient, highly customizable, and portable while capable of
+freetype: producing high-quality output.
+freetype:
+freetype: Homepage: http://www.freetype.org
+freetype:
+freetype:
diff --git a/patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7f4711ea
--- /dev/null
+++ b/patches/packages/gcc-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc: gcc (Base GCC package with C support)
+gcc:
+gcc: GCC is the GNU Compiler Collection.
+gcc:
+gcc: This package contains those parts of the compiler collection needed to
+gcc: compile C code. Other packages add Ada, C++, Fortran, Go,
+gcc: Objective-C, and Java support to the compiler core.
+gcc:
+gcc:
+gcc:
+gcc:
diff --git a/patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..2af52d04
--- /dev/null
+++ b/patches/packages/gcc-g++-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc-g++: gcc-g++ (C++ for GCC)
+gcc-g++:
+gcc-g++: C++ support for the GNU Compiler Collection.
+gcc-g++:
+gcc-g++: This package contains those parts of the compiler collection needed to
+gcc-g++: compile C++ code. The base gcc package is also required.
+gcc-g++:
+gcc-g++:
+gcc-g++:
+gcc-g++:
+gcc-g++:
diff --git a/patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..2a94581b
--- /dev/null
+++ b/patches/packages/gcc-gfortran-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc-gfortran: gcc-gfortran (Fortran support for GCC)
+gcc-gfortran:
+gcc-gfortran: The GNU Fortran compiler is fully compliant with the Fortran 95
+gcc-gfortran: Standard and includes legacy F77 support. In addition, a significant
+gcc-gfortran: number of Fortran 2003 and Fortran 2008 features are implemented.
+gcc-gfortran: GNU Fortran also contains many standard and extensions and can be
+gcc-gfortran: used to run real-world programs.
+gcc-gfortran:
+gcc-gfortran: This package contains those parts of the compiler collection
+gcc-gfortran: needed to compile Fortran code. The gcc package is also required.
+gcc-gfortran:
diff --git a/patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..53778c64
--- /dev/null
+++ b/patches/packages/gcc-gnat-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc-gnat: gcc-gnat (Ada support for GCC)
+gcc-gnat:
+gcc-gnat: Ada support for the GNU Compiler Collection.
+gcc-gnat:
+gcc-gnat: This package contains those parts of the compiler collection needed to
+gcc-gnat: compile Ada code. GNAT implements Ada 95, Ada 2005 and Ada 2012, and
+gcc-gnat: it may also be invoked in Ada 83 compatibility mode. By default, GNAT
+gcc-gnat: assumes Ada 2012. The base gcc package is also required.
+gcc-gnat:
+gcc-gnat:
+gcc-gnat:
diff --git a/patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..88a9554b
--- /dev/null
+++ b/patches/packages/gcc-go-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc-go: gcc-go (Go support for GCC)
+gcc-go:
+gcc-go: Go is a compiled, garbage-collected, concurrent programming language
+gcc-go: developed by Google Inc. The initial design of Go was started in
+gcc-go: September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson.
+gcc-go: Rob Pike has stated that Go is being used "for real stuff" at Google.
+gcc-go: Go's "gc" compiler targets the Linux, Mac OS X, FreeBSD, OpenBSD and
+gcc-go: Microsoft Windows operating systems, and the i386, amd64, and ARM
+gcc-go: processor architectures.
+gcc-go:
+gcc-go: Homepage: http://golang.org
diff --git a/patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..3dde254a
--- /dev/null
+++ b/patches/packages/gcc-java-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc-java: gcc-java (Java support for GCC)
+gcc-java:
+gcc-java: Java support for the GNU Compiler Collection.
+gcc-java:
+gcc-java: This package contains those parts of the compiler collection needed to
+gcc-java: compile programs written in the Java programming language. The base
+gcc-java: gcc package is also required.
+gcc-java:
+gcc-java:
+gcc-java:
+gcc-java:
diff --git a/patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt b/patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..1043a50f
--- /dev/null
+++ b/patches/packages/gcc-objc-5.5.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gcc-objc: gcc-objc (Objective-C support for GCC)
+gcc-objc:
+gcc-objc: Objective-C support for the GNU Compiler Collection.
+gcc-objc:
+gcc-objc: This package contains those parts of the compiler collection needed to
+gcc-objc: compile code written in Objective-C. Objective-C was originally
+gcc-objc: developed to add object-oriented extensions to the C language, and is
+gcc-objc: best known as the native language of the NeXT computer.
+gcc-objc:
+gcc-objc: The base gcc package is also required.
+gcc-objc:
diff --git a/patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt b/patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..49e3e6d8
--- /dev/null
+++ b/patches/packages/gd-2.2.5-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gd: gd (a graphics library)
+gd:
+gd: gd is a graphics library. It allows your code to quickly draw images
+gd: complete with lines, arcs, text, multiple colors, cut and paste from
+gd: other images, and flood fills, and write out the result as a PNG or
+gd: JPEG file. This is particularly useful in web applications, where
+gd: PNG and JPEG are two of the formats accepted for inline images by
+gd: most browsers. The gd library was written by Thomas Boutell.
+gd:
+gd: Homepage: https://www.libgd.org
+gd:
diff --git a/patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt b/patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt
new file mode 100644
index 00000000..e48bb58d
--- /dev/null
+++ b/patches/packages/gegl-0.2.0-x86_64-4_slack14.2.txt
@@ -0,0 +1,11 @@
+gegl: GEGL (Generic Graphics Library)
+gegl:
+gegl: GEGL (Generic Graphics Library) is a graph based image processing
+gegl: framework.
+gegl:
+gegl: GEGL provides infrastructure to do demand based cached non destructive
+gegl: image editing on larger than RAM buffers. Through babl it provides
+gegl: support for a wide range of color models and pixel storage formats for
+gegl: input and output.
+gegl:
+gegl:
diff --git a/patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt b/patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..9ae0e9bc
--- /dev/null
+++ b/patches/packages/getmail-4.54.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+getmail: getmail (POP3 mail retriever)
+getmail:
+getmail: getmail is a POP3 mail retriever, with support for both ordinary and
+getmail: domain (or multidrop) POP3 mailboxes. It is written in Python, and
+getmail: licensed under the GNU General Public License version 2.
+getmail:
+getmail: getmail was written by Charles Cazabon.
+getmail:
+getmail:
+getmail:
+getmail:
diff --git a/patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt b/patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7759a7ef
--- /dev/null
+++ b/patches/packages/gimp-2.8.18-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gimp: gimp (The GNU Image Manipulation Program)
+gimp:
+gimp: The GIMP is a powerful tool for the preparation and manipulation of
+gimp: digital images. The GIMP provides the user with a wide variety of
+gimp: image manipulation, painting, processing, and rendering tools. The
+gimp: GIMP's open design and extensible architecture make for a very
+gimp: powerful end product for photo and image retouching, web graphics
+gimp: design, or digital illustration.
+gimp:
+gimp:
+gimp:
diff --git a/patches/packages/git-2.14.1-x86_64-1_slack14.2.txt b/patches/packages/git-2.14.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..059a95ba
--- /dev/null
+++ b/patches/packages/git-2.14.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+git: git (the stupid content tracker)
+git:
+git: Git is a fast, scalable, distributed revision control system with an
+git: unusually rich command set that provides both high-level operations
+git: and full access to internals.
+git:
+git: "git" can mean anything, depending on your mood.
+git:
+git: Git was originally written by Linus Torvalds and is currently
+git: maintained by Junio C. Hamano.
+git:
diff --git a/patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt b/patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..a5a6e2be
--- /dev/null
+++ b/patches/packages/gkrellm-2.3.10-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gkrellm: gkrellm (GNU Krell Monitors)
+gkrellm:
+gkrellm: GKrellM charts SMP CPU, load, Disk, and all active net interfaces
+gkrellm: automatically. An on/off button and online timer for the PPP interface
+gkrellm: is provided. Monitors for memory and swap usage, file system, internet
+gkrellm: connections, APM laptop battery, mbox style mailboxes, and cpu temps.
+gkrellm: Also includes an uptime monitor, hostname label, and clock/calendar.
+gkrellm:
+gkrellm: Bill Wilson is the author of GKrellM.
+gkrellm:
+gkrellm:
diff --git a/patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt b/patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt
new file mode 100644
index 00000000..06417762
--- /dev/null
+++ b/patches/packages/glib2-2.46.2-x86_64-3_slack14.2.txt
@@ -0,0 +1,11 @@
+glib2: glib2 (library of C routines)
+glib2:
+glib2: GLib is a library which includes support routines for C such as lists,
+glib2: trees, hashes, memory allocation, and many other things.
+glib2:
+glib2:
+glib2:
+glib2:
+glib2:
+glib2:
+glib2:
diff --git a/patches/packages/glibc-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-2.23-x86_64-4_slack14.2.txt
new file mode 100644
index 00000000..9b940f88
--- /dev/null
+++ b/patches/packages/glibc-2.23-x86_64-4_slack14.2.txt
@@ -0,0 +1,11 @@
+glibc: glibc (GNU C libraries)
+glibc:
+glibc: This package contains the GNU C libraries and header files. The GNU
+glibc: C library was written originally by Roland McGrath, and is currently
+glibc: maintained by Ulrich Drepper. Some parts of the library were
+glibc: contributed or worked on by other people.
+glibc:
+glibc: You'll need this package to compile programs.
+glibc:
+glibc:
+glibc:
diff --git a/patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt
new file mode 100644
index 00000000..128c0e26
--- /dev/null
+++ b/patches/packages/glibc-i18n-2.23-x86_64-4_slack14.2.txt
@@ -0,0 +1,11 @@
+glibc-i18n: glibc-i18n (locale files from glibc)
+glibc-i18n:
+glibc-i18n: These files go in /usr/lib/locale, /usr/share/i18n/, and
+glibc-i18n: /usr/share/locale/ to provide internationalization support.
+glibc-i18n: You'll need this package unless you will be using US English only.
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
+glibc-i18n:
diff --git a/patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt
new file mode 100644
index 00000000..f9b53ba6
--- /dev/null
+++ b/patches/packages/glibc-profile-2.23-x86_64-4_slack14.2.txt
@@ -0,0 +1,11 @@
+glibc-profile: glibc-profile (GNU C libraries with profiling support)
+glibc-profile:
+glibc-profile: This package contains static versions of the GNU C libraries with
+glibc-profile: support for profiling binaries using gprof. gprof calculates how
+glibc-profile: much time a program spends in each routine which can suggest where
+glibc-profile: to concentrate efforts to improve performance.
+glibc-profile:
+glibc-profile: See the gprof man page for more details.
+glibc-profile:
+glibc-profile:
+glibc-profile:
diff --git a/patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt b/patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt
new file mode 100644
index 00000000..3824184d
--- /dev/null
+++ b/patches/packages/glibc-solibs-2.23-x86_64-4_slack14.2.txt
@@ -0,0 +1,11 @@
+glibc-solibs: glibc-solibs (shared GNU C libraries)
+glibc-solibs:
+glibc-solibs: This package contains the shared libraries, binaries, and support
+glibc-solibs: files required to run most Linux applications linked with glibc.
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
+glibc-solibs:
diff --git a/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt
new file mode 100644
index 00000000..c74ccc6a
--- /dev/null
+++ b/patches/packages/glibc-zoneinfo-2018e-noarch-2_slack14.2.txt
@@ -0,0 +1,11 @@
+glibc-zoneinfo: glibc-zoneinfo (timezone database)
+glibc-zoneinfo:
+glibc-zoneinfo: This package allows you to configure your time zone.
+glibc-zoneinfo:
+glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by
+glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information
+glibc-zoneinfo: may be found at: http://www.iana.org/time-zones
+glibc-zoneinfo:
+glibc-zoneinfo: Use the timeconfig utility to set your local time zone.
+glibc-zoneinfo:
+glibc-zoneinfo:
diff --git a/patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..59d38136
--- /dev/null
+++ b/patches/packages/gnupg-1.4.22-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gnupg: gnupg (The GNU Privacy Guard)
+gnupg:
+gnupg: GnuPG is GNU's tool for secure communication and data storage. It can
+gnupg: be used to encrypt data and to create digital signatures. It includes
+gnupg: an advanced key management facility and is compliant with the proposed
+gnupg: OpenPGP Internet standard as described in RFC2440.
+gnupg:
+gnupg:
+gnupg:
+gnupg:
+gnupg:
diff --git a/patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt b/patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..40c151dc
--- /dev/null
+++ b/patches/packages/gnutls-3.5.8-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gnutls: gnutls (GNU TLS library)
+gnutls:
+gnutls: This is a TLS (Transport Layer Security) 1.0 and SSL (Secure Sockets
+gnutls: Layer) 3.0 implementation. In brief, GnuTLS can be described as a
+gnutls: library which offers an API to access secure communication protocols.
+gnutls: These protocols provide privacy over insecure lines, and were designed
+gnutls: to prevent eavesdropping, tampering, or message forgery.
+gnutls:
+gnutls: Homepage: http://www.gnu.org/software/gnutls/
+gnutls:
+gnutls:
diff --git a/patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt b/patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..22afdcc8
--- /dev/null
+++ b/patches/packages/gtk+2-2.24.31-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+gtk+2: GTK+ version 2 (multi-platform GUI toolkit)
+gtk+2:
+gtk+2: This is GTK+, a multi-platform toolkit for creating graphical user
+gtk+2: interfaces. Offering a complete set of widgets, GTK+ is suitable for
+gtk+2: projects ranging from small one-off projects to complete application
+gtk+2: suites.
+gtk+2:
+gtk+2:
+gtk+2:
+gtk+2:
+gtk+2:
diff --git a/patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt b/patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..e0fe474d
--- /dev/null
+++ b/patches/packages/httpd-2.4.29-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+httpd: httpd (The Apache HTTP Server)
+httpd:
+httpd: Apache is an HTTP server designed as a plug-in replacement for the
+httpd: NCSA HTTP server. It fixes numerous bugs in the NCSA server and
+httpd: includes many frequently requested new features, and has an API which
+httpd: allows it to be extended to meet users' needs more easily.
+httpd:
+httpd: Apache is the most popular web server in the known universe; over
+httpd: half of the servers on the Internet are running Apache or one of
+httpd: its variants.
+httpd:
diff --git a/patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt b/patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt
new file mode 100644
index 00000000..c94d6f31
--- /dev/null
+++ b/patches/packages/intltool-0.51.0-x86_64-3_slack14.2.txt
@@ -0,0 +1,11 @@
+intltool: intltool (Utilities for translation support)
+intltool:
+intltool: This package contains scripts and autoconf files for
+intltool: internationalizing data.
+intltool:
+intltool: Homepage: https://edge.launchpad.net/intltool
+intltool:
+intltool:
+intltool:
+intltool:
+intltool:
diff --git a/patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt b/patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..c7127d1f
--- /dev/null
+++ b/patches/packages/irssi-1.0.7-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+irssi: irssi (Internet Relay Chat client)
+irssi:
+irssi: Irssi is an Internet Relay Chat client. Designed to be both secure
+irssi: and expandable, irssi is easily customized using modules and scripts.
+irssi:
+irssi: For more information, visit: http://irssi.org
+irssi:
+irssi: irssi was written by Timo Sirainen.
+irssi:
+irssi:
+irssi:
diff --git a/patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt b/patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..d192ec7a
--- /dev/null
+++ b/patches/packages/kdelibs-4.14.32-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+kdelibs: kdelibs (KDE libraries)
+kdelibs:
+kdelibs: System libraries and other resources required for the KDE Platform.
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
+kdelibs:
diff --git a/patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt b/patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7a0038ff
--- /dev/null
+++ b/patches/packages/libX11-1.6.4-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libX11: libX11 (Core X11 protocol client library)
+libX11:
+libX11: libX11 is part of X11.
+libX11:
+libX11: For more information about the X.Org Foundation (the providers of the
+libX11: X.Org implementation of the X Window System), see their website:
+libX11:
+libX11: http://www.x.org
+libX11:
+libX11:
+libX11:
diff --git a/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..a95a82df
--- /dev/null
+++ b/patches/packages/libXcursor-1.1.15-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXcursor: libXcursor (X Window System Cursor management library)
+libXcursor:
+libXcursor: libXcursor is part of X11.
+libXcursor:
+libXcursor: For more information about the X.Org Foundation (the providers of the
+libXcursor: X.Org implementation of the X Window System), see their website:
+libXcursor:
+libXcursor: http://www.x.org
+libXcursor:
+libXcursor:
+libXcursor:
diff --git a/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..cad880c5
--- /dev/null
+++ b/patches/packages/libXfixes-5.0.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXfixes: libXfixes (client library for the Xfixes extension)
+libXfixes:
+libXfixes: libXfixes is part of X11.
+libXfixes:
+libXfixes: For more information about the X.Org Foundation (the providers of the
+libXfixes: X.Org implementation of the X Window System), see their website:
+libXfixes:
+libXfixes: http://www.x.org
+libXfixes:
+libXfixes:
+libXfixes:
diff --git a/patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt b/patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..fd4ecec9
--- /dev/null
+++ b/patches/packages/libXfont-1.5.1-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+libXfont: libXfont (library for legacy X11 font system)
+libXfont:
+libXfont: libXfont provides the core of the legacy X11 font system, handling the
+libXfont: index files (fonts.dir, fonts.alias, fonts.scale), the various font
+libXfont: file formats, and rasterizing them. It is used by the X servers, the
+libXfont: X Font Server (xfs), and some font utilities (bdftopcf for instance),
+libXfont: but should not be used by normal X11 clients. X11 clients access fonts
+libXfont: via either the new API's in libXft, or the legacy API's in libX11.
+libXfont:
+libXfont:
+libXfont:
diff --git a/patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt b/patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..f8ef8ec2
--- /dev/null
+++ b/patches/packages/libXi-1.7.8-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXi: libXi (library for the X Input Extension)
+libXi:
+libXi: libXi is part of X11.
+libXi:
+libXi: For more information about the X.Org Foundation (the providers of the
+libXi: X.Org implementation of the X Window System), see their website:
+libXi:
+libXi: http://www.x.org
+libXi:
+libXi:
+libXi:
diff --git a/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7025c9ef
--- /dev/null
+++ b/patches/packages/libXrandr-1.5.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXrandr: libXrandr (X Resize, Rotate and Reflection extension library)
+libXrandr:
+libXrandr: libXrandr is part of X11.
+libXrandr:
+libXrandr: For more information about the X.Org Foundation (the providers of the
+libXrandr: X.Org implementation of the X Window System), see their website:
+libXrandr:
+libXrandr: http://www.x.org
+libXrandr:
+libXrandr:
+libXrandr:
diff --git a/patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..254411dd
--- /dev/null
+++ b/patches/packages/libXrender-0.9.10-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXrender: libXrender (library for the Render Extension to the X11 protocol)
+libXrender:
+libXrender: libXrender is part of X11.
+libXrender:
+libXrender: For more information about the X.Org Foundation (the providers of the
+libXrender: X.Org implementation of the X Window System), see their website:
+libXrender:
+libXrender: http://www.x.org
+libXrender:
+libXrender:
+libXrender:
diff --git a/patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt b/patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..6abe3e3d
--- /dev/null
+++ b/patches/packages/libXres-1.2.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXres: libXres (X-Resource extension client library)
+libXres:
+libXres: libXres is part of X11.
+libXres:
+libXres: For more information about the X.Org Foundation (the providers of the
+libXres: X.Org implementation of the X Window System), see their website:
+libXres:
+libXres: http://www.x.org
+libXres:
+libXres:
+libXres:
diff --git a/patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..b44d139f
--- /dev/null
+++ b/patches/packages/libXtst-1.2.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXtst: libXtst (client library for the XTEST & RECORD extensions)
+libXtst:
+libXtst: libXtst is part of X11.
+libXtst:
+libXtst: For more information about the X.Org Foundation (the providers of the
+libXtst: X.Org implementation of the X Window System), see their website:
+libXtst:
+libXtst: http://www.x.org
+libXtst:
+libXtst:
+libXtst:
diff --git a/patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt b/patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..57e51905
--- /dev/null
+++ b/patches/packages/libXv-1.0.11-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXv: libXv (library for the X Video (Xv) extension to the X Window System)
+libXv:
+libXv: libXv is part of X11.
+libXv:
+libXv: For more information about the X.Org Foundation (the providers of the
+libXv: X.Org implementation of the X Window System), see their website:
+libXv:
+libXv: http://www.x.org
+libXv:
+libXv:
+libXv:
diff --git a/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..b23d9bd2
--- /dev/null
+++ b/patches/packages/libXvMC-1.0.10-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libXvMC: libXvMC (X.Org X11 libXvMC runtime library)
+libXvMC:
+libXvMC: libXvMC is part of X11.
+libXvMC:
+libXvMC: For more information about the X.Org Foundation (the providers of the
+libXvMC: X.Org implementation of the X Window System), see their website:
+libXvMC:
+libXvMC: http://www.x.org
+libXvMC:
+libXvMC:
+libXvMC:
diff --git a/patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt b/patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..a3099b6c
--- /dev/null
+++ b/patches/packages/libcgroup-0.41-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+libcgroup: libcgroup (library and utilities for kernel control groups)
+libcgroup:
+libcgroup: Control Groups provide a mechanism for aggregating/partitioning sets of
+libcgroup: tasks, and all their future children, into hierarchical groups with
+libcgroup: specialized behaviour. It makes use of a filesystem interface.
+libcgroup: This package contains a library for developing applications that use
+libcgroup: control groups, as well as some basic userspace tools for controlling
+libcgroup: and monitoring control groups.
+libcgroup:
+libcgroup: Homepage: http://libcg.sourceforge.net/
+libcgroup:
diff --git a/patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt b/patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..079f2133
--- /dev/null
+++ b/patches/packages/libgcrypt-1.7.9-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libgcrypt: libgcrypt (General purpose crypto library)
+libgcrypt:
+libgcrypt: Libgcrypt is a general purpose crypto library based on the code
+libgcrypt: used in GnuPG.
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
diff --git a/patches/packages/libidn-1.34-x86_64-1_slack14.2.txt b/patches/packages/libidn-1.34-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..86ffee4f
--- /dev/null
+++ b/patches/packages/libidn-1.34-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libidn: libidn (GNU Internationalized Domain Name library)
+libidn:
+libidn: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA
+libidn: specifications defined by the IETF Internationalized Domain Names
+libidn: (IDN) working group, used for internationalized domain names.
+libidn:
+libidn:
+libidn:
+libidn:
+libidn:
+libidn:
diff --git a/patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..c8c985f3
--- /dev/null
+++ b/patches/packages/libpcap-1.8.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libpcap: libpcap (packet capture library)
+libpcap:
+libpcap: libpcap is a library for user-level packet capture. libpcap provides
+libpcap: a portable framework for low-level network monitoring. Applications
+libpcap: include network statistics collection, security monitoring, network
+libpcap: debugging, etc. The tcpdump utility uses libpcap.
+libpcap:
+libpcap: Project homepage: http://www.tcpdump.org
+libpcap:
+libpcap:
+libpcap:
diff --git a/patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt b/patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..984b463c
--- /dev/null
+++ b/patches/packages/libplist-2.0.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libplist: libplist (A library for Apple Binary and XML Property Lists)
+libplist:
+libplist: libplist is a library that attempts to support Apple Binary and XML
+libplist: Property Lists. It is used by libgpod.
+libplist:
+libplist: The libplist homepage: http://www.libimobiledevice.org/
+libplist:
+libplist:
+libplist:
+libplist:
+libplist:
diff --git a/patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt b/patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..3d0deb67
--- /dev/null
+++ b/patches/packages/libpng-1.6.27-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libpng: libpng (Portable Network Graphics library)
+libpng:
+libpng: PNG (Portable Network Graphics) is an extensible file format for the
+libpng: lossless, portable, well-compressed storage of raster images. PNG
+libpng: provides a patent-free replacement for GIF and can also replace many
+libpng: common uses of TIFF. Indexed-color, grayscale, and truecolor images
+libpng: are supported, plus an optional alpha channel. Sample depths range
+libpng: from 1 to 16 bits.
+libpng:
+libpng:
+libpng:
diff --git a/patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt b/patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt
new file mode 100644
index 00000000..45e21741
--- /dev/null
+++ b/patches/packages/libsoup-2.52.2-x86_64-3_slack14.2.txt
@@ -0,0 +1,11 @@
+libsoup: libsoup (an HTTP client/server library)
+libsoup:
+libsoup: Soup is an HTTP client/server library implementation in C. It uses
+libsoup: GObjects and the glib main loop to integrate well with GTK+
+libsoup: applications, and has a synchronous API suitable for use in threaded
+libsoup: applications.
+libsoup:
+libsoup:
+libsoup:
+libsoup:
+libsoup:
diff --git a/patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt b/patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..89df05ed
--- /dev/null
+++ b/patches/packages/libtiff-4.0.9-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libtiff: libtiff (a library for reading and writing TIFF files)
+libtiff:
+libtiff: This package provides support for the Tag Image File Format (TIFF),
+libtiff: a widely used format for storing image data. Included is the libtiff
+libtiff: library (for reading and writing TIFF files), and a collection of
+libtiff: tools for working with TIFF images.
+libtiff:
+libtiff:
+libtiff:
+libtiff:
+libtiff:
diff --git a/patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt b/patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..fe79aef7
--- /dev/null
+++ b/patches/packages/libtirpc-1.0.2-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libtirpc: libtirpc (Transport-Independent RPC library)
+libtirpc:
+libtirpc: Libtirpc is a port of Sun's Transport-Independent RPC library to
+libtirpc: Linux. It is being developed by Bull GNU/Linux NFSv4 project.
+libtirpc:
+libtirpc: You will need this library if you plan to use RPC with a GLIBC
+libtirpc: version newer than 2.13, because the RPC stack has been removed
+libtirpc: from GLIBC versions newer than 2.13. The library is required
+libtirpc: by the 'rpcbind' package.
+libtirpc:
+libtirpc: http://sourceforge.net/projects/libtirpc/
diff --git a/patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt b/patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..a6d181d9
--- /dev/null
+++ b/patches/packages/libtool-2.4.6-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+libtool: libtool (a generic library support script)
+libtool:
+libtool: This is GNU Libtool, a generic library support script. Libtool hides
+libtool: the complexity of using shared libraries behind a consistent, portable
+libtool: interface. To use libtool, add the new generic library building
+libtool: commands to your Makefile, Makefile.in, or Makefile.am. See the
+libtool: documentation for details.
+libtool:
+libtool: You must install the "m4" package to be able to use libtool.
+libtool:
+libtool:
diff --git a/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..aeddb637
--- /dev/null
+++ b/patches/packages/libvorbis-1.3.6-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libvorbis: libvorbis (Ogg Vorbis library)
+libvorbis:
+libvorbis: This library supports the Vorbis General Audio Compression Codec
+libvorbis: (commonly known as Ogg Vorbis). Ogg Vorbis is a fully open,
+libvorbis: non-proprietary, patent-and-royalty-free, general-purpose compressed
+libvorbis: audio format for audio and music at fixed and variable bitrates.
+libvorbis:
+libvorbis: The libvorbis library requires libao and libogg. You'll find some
+libvorbis: basic tools for creating and using Ogg Vorbis files in the
+libvorbis: vorbis-tools package.
+libvorbis:
diff --git a/patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt b/patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt
new file mode 100644
index 00000000..9ce901b8
--- /dev/null
+++ b/patches/packages/libwmf-0.2.8.4-x86_64-7_slack14.2.txt
@@ -0,0 +1,11 @@
+libwmf: libwmf (WMF graphics format library)
+libwmf:
+libwmf: libwmf is a library for interpreting metafile images and either
+libwmf: displaying them using X or converting them to standard formats such
+libwmf: as PNG, JPEG, PS, EPS and SVG.
+libwmf:
+libwmf:
+libwmf:
+libwmf:
+libwmf:
+libwmf:
diff --git a/patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..806c9765
--- /dev/null
+++ b/patches/packages/libxml2-2.9.5-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+libxml2: libxml2 (XML parser library)
+libxml2:
+libxml2: Libxml2 is the XML C parser library and toolkit. XML itself is a
+libxml2: metalanguage to design markup languages -- i.e. a text language where
+libxml2: structures are added to the content using extra "markup" information
+libxml2: enclosed between angle brackets. HTML is the most well-known markup
+libxml2: language. Though the library is written in C, a variety of language
+libxml2: bindings make it available in other environments.
+libxml2:
+libxml2:
+libxml2:
diff --git a/patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt b/patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt
new file mode 100644
index 00000000..7635509e
--- /dev/null
+++ b/patches/packages/libzip-1.0.1-x86_64-3_slack14.2.txt
@@ -0,0 +1,11 @@
+libzip: libzip (A library to read, create, and modify Zip archives)
+libzip:
+libzip: This is libzip, a C library for reading, creating, and modifying
+libzip: zip archives. Files can be added from data buffers, files, or
+libzip: compressed data copied directly from other zip archives. Changes
+libzip: made without closing the archive can be reverted.
+libzip:
+libzip: Homepage: http://www.nih.at/libzip/
+libzip:
+libzip:
+libzip:
diff --git a/patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt b/patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt
new file mode 100644
index 00000000..4b07a89f
--- /dev/null
+++ b/patches/packages/linux-4.4.132/kernel-firmware-20180518_2a9b2cf-noarch-1.txt
@@ -0,0 +1,11 @@
+kernel-firmware: kernel-firmware (Firmware for the kernel)
+kernel-firmware:
+kernel-firmware: These are firmware files for the Linux kernel.
+kernel-firmware:
+kernel-firmware: You'll need these to use certain hardware drivers with Linux.
+kernel-firmware:
+kernel-firmware: Upstream site:
+kernel-firmware:
+kernel-firmware: git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
+kernel-firmware:
+kernel-firmware:
diff --git a/patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt b/patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt
new file mode 100644
index 00000000..975a5ba6
--- /dev/null
+++ b/patches/packages/linux-4.4.132/kernel-generic-4.4.132-x86_64-1.txt
@@ -0,0 +1,11 @@
+kernel-generic: kernel-generic (a general purpose SMP Linux kernel)
+kernel-generic:
+kernel-generic: This is a Linux kernel with built-in support for most disk
+kernel-generic: controllers. To use filesystems, or to load support for a SCSI or
+kernel-generic: other controller, then you'll need to load one or more kernel
+kernel-generic: modules using an initial ramdisk, or initrd. For more information
+kernel-generic: about creating an initrd, see the README.initrd file in the /boot
+kernel-generic: directory.
+kernel-generic:
+kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
+kernel-generic:
diff --git a/patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt b/patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt
new file mode 100644
index 00000000..27b46a0e
--- /dev/null
+++ b/patches/packages/linux-4.4.132/kernel-headers-4.4.132-x86-1.txt
@@ -0,0 +1,11 @@
+kernel-headers: kernel-headers (Linux kernel include files)
+kernel-headers:
+kernel-headers: These are the include files from the Linux kernel.
+kernel-headers:
+kernel-headers: You'll need these to compile most system software for Linux.
+kernel-headers:
+kernel-headers:
+kernel-headers:
+kernel-headers:
+kernel-headers:
+kernel-headers:
diff --git a/patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt b/patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt
new file mode 100644
index 00000000..2d617061
--- /dev/null
+++ b/patches/packages/linux-4.4.132/kernel-huge-4.4.132-x86_64-1.txt
@@ -0,0 +1,11 @@
+kernel-huge: kernel-huge (a fully-loaded SMP Linux kernel)
+kernel-huge:
+kernel-huge: This is a Linux kernel with built-in support for most disk
+kernel-huge: controllers. If you're looking for a more stripped down kernel
+kernel-huge: (this one contains everything but the kitchen sink ;-), then install
+kernel-huge: the kernel-generic in the /boot directory along with an initrd to
+kernel-huge: load support for your boot device and filesystem. For instructions
+kernel-huge: on the initrd, see README.initrd in the /boot directory.
+kernel-huge:
+kernel-huge: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
+kernel-huge:
diff --git a/patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt b/patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt
new file mode 100644
index 00000000..9a944104
--- /dev/null
+++ b/patches/packages/linux-4.4.132/kernel-modules-4.4.132-x86_64-1.txt
@@ -0,0 +1,11 @@
+kernel-modules: kernel-modules (Linux kernel modules)
+kernel-modules:
+kernel-modules: Kernel modules are pieces of code that can be loaded and unloaded into
+kernel-modules: the kernel upon demand. They extend the functionality of the kernel
+kernel-modules: without the need to reboot the system. These modules provide support
+kernel-modules: for hardware such as USB devices, RAID controllers, network
+kernel-modules: interfaces, and display devices, or add other additional capabilities
+kernel-modules: to the kernel.
+kernel-modules:
+kernel-modules:
+kernel-modules:
diff --git a/patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt b/patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt
new file mode 100644
index 00000000..eb2b0a30
--- /dev/null
+++ b/patches/packages/linux-4.4.132/kernel-source-4.4.132-noarch-1.txt
@@ -0,0 +1,11 @@
+kernel-source: kernel-source (Linux kernel source)
+kernel-source:
+kernel-source: Source code for Linus Torvalds' Linux kernel.
+kernel-source:
+kernel-source: This is the complete and unmodified source code for the Linux kernel.
+kernel-source:
+kernel-source:
+kernel-source:
+kernel-source:
+kernel-source:
+kernel-source:
diff --git a/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..f7799109
--- /dev/null
+++ b/patches/packages/loudmouth-1.5.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+loudmouth: loudmouth (XMPP C programming library)
+loudmouth:
+loudmouth: Loudmouth is a lightweight and easy-to-use C library for programming
+loudmouth: with the Jabber protocol. It is designed to be easy to get started
+loudmouth: with, and yet extensible enough to allow you to do anything that the
+loudmouth: Jabber protocol allows.
+loudmouth:
+loudmouth: loudmouth home: https://github.com/mcabber/loudmouth
+loudmouth:
+loudmouth:
+loudmouth:
diff --git a/patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt b/patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt
new file mode 100644
index 00000000..925b5830
--- /dev/null
+++ b/patches/packages/lynx-2.8.8rel.2-x86_64-3_slack14.2.txt
@@ -0,0 +1,11 @@
+lynx: Lynx (text mode browser)
+lynx:
+lynx: Lynx is a distributed hypertext browser with full World Wide Web
+lynx: capabilities. Lynx can be used to access information on the World
+lynx: Wide Web, or to build information systems intended primarily for local
+lynx: access. For example, Lynx has been used to build several Campus Wide
+lynx: Information Systems (CWIS).
+lynx:
+lynx: Lynx's authors include Lou Montulli, Garrett Blythe, Craig Lavender,
+lynx: Michael Grobe, and Charles Rezac.
+lynx:
diff --git a/patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt b/patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..6c42fc57
--- /dev/null
+++ b/patches/packages/mariadb-10.0.35-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mariadb: mariadb (Drop-in replacement for the MySQL Database Server)
+mariadb:
+mariadb: MariaDB is a backward compatible, drop-in replacement branch of the
+mariadb: MySQL(R) Database Server. It includes all major open source storage
+mariadb: engines, including the Aria storage engine.
+mariadb:
+mariadb: Homepage: http://mariadb.org/
+mariadb:
+mariadb:
+mariadb:
+mariadb:
diff --git a/patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..b88d33ff
--- /dev/null
+++ b/patches/packages/mcabber-1.0.5-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mcabber: mcabber (Jabber console client)
+mcabber:
+mcabber: mcabber is a small Jabber console client for Linux, maintained by
+mcabber: Mikael Berthe. Mcabber includes features such as SSL support,
+mcabber: multi-user chat (MUC), history logging, commands completion, and
+mcabber: external actions triggers.
+mcabber:
+mcabber: mcabber project home is: http://www.lilotux.net/~mikael/mcabber/
+mcabber:
+mcabber:
+mcabber:
diff --git a/patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..74728542
--- /dev/null
+++ b/patches/packages/mercurial-4.3.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mercurial: mercurial (a distributed source management system)
+mercurial:
+mercurial: Mercurial is a cross-platform, distributed source management tool for
+mercurial: software developers. It is written in Python, with a binary diff
+mercurial: implementation written in C. Its major features include high-
+mercurial: performance; serverless, fully distributed collaborative development;
+mercurial: robust handling of both plain text and binary files; advanced
+mercurial: branching and merging capabilities; and full source code available
+mercurial: under the terms of the LGPL.
+mercurial:
+mercurial: Mercurial was written by Matt Mackall and other contributors.
diff --git a/patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt b/patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..ec008506
--- /dev/null
+++ b/patches/packages/minicom-2.7.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+minicom: minicom (communications package)
+minicom:
+minicom: Minicom - a full featured menu-driven communications package similar
+minicom: to the DOS program 'Telix'. Also includes sz/rz - utilities used to
+minicom: upload and download files using the Zmodem protocol.
+minicom:
+minicom: Homepage: http://alioth.debian.org/projects/minicom
+minicom:
+minicom:
+minicom:
+minicom:
diff --git a/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..ac8d3a74
--- /dev/null
+++ b/patches/packages/mkinitrd-1.4.10-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mkinitrd: mkinitrd (make an initial ramdisk)
+mkinitrd:
+mkinitrd: mkinitrd is a script to create an initial ramdisk that is loaded at
+mkinitrd: the same time as the kernel. The initial ramdisk may be responsible
+mkinitrd: for loading kernel modules (such a filesystem or SCSI controller
+mkinitrd: module) that are needed to mount the root filesystem.
+mkinitrd:
+mkinitrd: The "initrd" is implemented as an initramfs. See the kernel
+mkinitrd: documentation for more information on this, if you are interested.
+mkinitrd:
+mkinitrd:
diff --git a/patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt b/patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..1d399dbf
--- /dev/null
+++ b/patches/packages/mozilla-firefox-52.8.0esr-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mozilla-firefox: mozilla-firefox (Mozilla Firefox Web browser)
+mozilla-firefox:
+mozilla-firefox: This project is a redesign of the Mozilla browser component written
+mozilla-firefox: using the XUL user interface language. Firefox empowers you to
+mozilla-firefox: browse faster, more safely and more efficiently than with any other
+mozilla-firefox: browser.
+mozilla-firefox:
+mozilla-firefox: Visit the Mozilla Firefox project online:
+mozilla-firefox: http://www.mozilla.org/projects/firefox/
+mozilla-firefox:
+mozilla-firefox:
diff --git a/patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt b/patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..9d2fe708
--- /dev/null
+++ b/patches/packages/mozilla-nss-3.31.1-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mozilla-nss: mozilla-nss (Network Security Services)
+mozilla-nss:
+mozilla-nss: Network Security Services (NSS) is a set of libraries designed to
+mozilla-nss: support cross-platform development of security-enabled client and
+mozilla-nss: server applications. Applications built with NSS can support
+mozilla-nss: SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
+mozilla-nss: X.509 v3 certificates, and other security standards.
+mozilla-nss:
+mozilla-nss:
+mozilla-nss: Read http://www.mozilla.org/projects/security/pki/nss/overview.html
+mozilla-nss:
diff --git a/patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt b/patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..79d02252
--- /dev/null
+++ b/patches/packages/mozilla-thunderbird-52.8.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+mozilla-thunderbird: mozilla-thunderbird (Mozilla Thunderbird mail application)
+mozilla-thunderbird:
+mozilla-thunderbird: Mozilla Thunderbird is a redesign of the Mozilla mail component
+mozilla-thunderbird: written using the XUL user interface language. Thunderbird makes
+mozilla-thunderbird: emailing safer, faster, and easier than ever before with the
+mozilla-thunderbird: industry's best implementations of features such as intelligent spam
+mozilla-thunderbird: filters, built-in RSS reader, quick search, and much more.
+mozilla-thunderbird:
+mozilla-thunderbird: Visit the Mozilla Thunderbird project online:
+mozilla-thunderbird: http://www.mozilla.org/projects/thunderbird/
+mozilla-thunderbird:
diff --git a/patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt b/patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..a8bb4e99
--- /dev/null
+++ b/patches/packages/nasm-2.13.01-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+nasm: nasm (NASM assembler)
+nasm:
+nasm: NASM is the Netwide Assembler, a free portable assembler for the Intel
+nasm: 80x86 microprocessor series, using primarily the traditional Intel
+nasm: instruction mnemonics and syntax.
+nasm:
+nasm: NASM was written by Simon Tatham and Julian Hall.
+nasm:
+nasm: Homepage: http://www.nasm.us
+nasm:
+nasm:
diff --git a/patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt b/patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..1a05675d
--- /dev/null
+++ b/patches/packages/network-manager-applet-1.8.4-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+network-manager-applet: network-manager-applet (NetworkManager Applet)
+network-manager-applet:
+network-manager-applet: nm-applet is a gui frontend for NetworkManager.
+network-manager-applet:
+network-manager-applet:
+network-manager-applet:
+network-manager-applet:
+network-manager-applet:
+network-manager-applet:
+network-manager-applet:
+network-manager-applet:
diff --git a/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..128dd5c6
--- /dev/null
+++ b/patches/packages/ntp-4.2.8p11-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+ntp: ntp (Network Time Protocol daemon)
+ntp:
+ntp: The Network Time Protocol (NTP) is used to synchronize the time of a
+ntp: computer client or server to another server or reference time source,
+ntp: such as a radio or satellite receiver or modem. It provides client
+ntp: accuracies typically within a millisecond on LANs and up to a few tens
+ntp: of milliseconds on WANs relative to a primary server synchronized to
+ntp: Coordinated Universal Time (UTC) via a Global Positioning Service
+ntp: (GPS) receiver, for example.
+ntp:
+ntp:
diff --git a/patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt b/patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..d24e3778
--- /dev/null
+++ b/patches/packages/openexr-2.2.0-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+openexr: openexr (HDR Image File Format & Library)
+openexr:
+openexr: OpenEXR is an image file format and library developed by Industrial
+openexr: Light & Magic, and later released to the public. It provides support
+openexr: for high dynamic range and a 16-bit floating point "half" data type
+openexr: which is compatible with the half data type in the Cg programming
+openexr: language.
+openexr:
+openexr: Homepage: http://www.openexr.org/
+openexr:
+openexr:
diff --git a/patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt b/patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..824f5250
--- /dev/null
+++ b/patches/packages/openjpeg-2.3.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+openjpeg: openjpeg (JPEG2000 Codec)
+openjpeg:
+openjpeg: The OpenJPEG library is an open-source JPEG 2000 codec.
+openjpeg:
+openjpeg: Homepage: http://www.openjpeg.org
+openjpeg:
+openjpeg:
+openjpeg:
+openjpeg:
+openjpeg:
+openjpeg:
diff --git a/patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt b/patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..65f39171
--- /dev/null
+++ b/patches/packages/openssh-7.4p1-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+openssh: openssh (Secure Shell daemon and clients)
+openssh:
+openssh: ssh (Secure Shell) is a program for logging into a remote machine and
+openssh: for executing commands on a remote machine. It is intended to replace
+openssh: rlogin and rsh, and provide secure encrypted communications between
+openssh: two untrusted hosts over an insecure network. sshd (SSH Daemon) is
+openssh: the daemon program for ssh. OpenSSH is based on the last free version
+openssh: of Tatu Ylonen's SSH, further enhanced and cleaned up by Aaron
+openssh: Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, and
+openssh: Dug Song. It has a homepage at http://www.openssh.com/
+openssh:
diff --git a/patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt b/patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..26048b4f
--- /dev/null
+++ b/patches/packages/openssl-1.0.2o-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+openssl: openssl (Secure Sockets Layer toolkit)
+openssl:
+openssl: The OpenSSL certificate management tool and the shared libraries that
+openssl: provide various encryption and decryption algorithms and protocols.
+openssl:
+openssl: This product includes software developed by the OpenSSL Project for
+openssl: use in the OpenSSL Toolkit (http://www.openssl.org). This product
+openssl: includes cryptographic software written by Eric Young
+openssl: (eay@cryptsoft.com). This product includes software written by Tim
+openssl: Hudson (tjh@cryptsoft.com).
+openssl:
diff --git a/patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt b/patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..2811c662
--- /dev/null
+++ b/patches/packages/openssl-solibs-1.0.2o-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+openssl-solibs: openssl-solibs (OpenSSL shared libraries)
+openssl-solibs:
+openssl-solibs: These shared libraries provide encryption routines required by
+openssl-solibs: programs such as openssh, bind, sendmail, and many others.
+openssl-solibs:
+openssl-solibs: This product includes software developed by the OpenSSL Project for
+openssl-solibs: use in the OpenSSL Toolkit (http://www.openssl.org). This product
+openssl-solibs: includes cryptographic software written by Eric Young
+openssl-solibs: (eay@cryptsoft.com). This product includes software written by Tim
+openssl-solibs: Hudson (tjh@cryptsoft.com).
+openssl-solibs:
diff --git a/patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..73bb76e0
--- /dev/null
+++ b/patches/packages/openvpn-2.4.6-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+openvpn: openvpn (secure IP tunnel daemon)
+openvpn:
+openvpn: OpenVPN is a full-featured SSL VPN which can accommodate a wide range
+openvpn: of configurations, including remote access, site-to-site VPNs, WiFi
+openvpn: security, and enterprise-scale remote access with load balancing,
+openvpn: failover, and fine-grained access-controls.
+openvpn:
+openvpn: OpenVPN's home on the net is: http://openvpn.net
+openvpn:
+openvpn:
+openvpn:
diff --git a/patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt b/patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..0120ae50
--- /dev/null
+++ b/patches/packages/patch-2.7.6-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+patch: patch (apply a diff file to an original file or files)
+patch:
+patch: Patch is a utility used to apply diffs (or patches) to files, which
+patch: are usually source code.
+patch:
+patch: Larry Wall wrote the original version of patch. Paul Eggert removed
+patch: patch's arbitrary limits; added support for binary files, setting
+patch: file times, and deleting files; and made it conform better to POSIX.
+patch: Other contributors include Wayne Davison, who added unidiff support,
+patch: and David MacKenzie, who added configuration and backup support.
+patch:
diff --git a/patches/packages/php-5.6.36-x86_64-1_slack14.2.txt b/patches/packages/php-5.6.36-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..e771b5f3
--- /dev/null
+++ b/patches/packages/php-5.6.36-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+php: php (HTML-embedded scripting language)
+php:
+php: PHP is an HTML-embedded scripting language. It shares syntax
+php: characteristics with C, Java, and Perl. The primary objective behind
+php: this language is to make a fast and easy-to-use scripting language
+php: for dynamic web sites.
+php:
+php: More information can be found online at http://www.php.net/
+php:
+php:
+php:
diff --git a/patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..1eb97f00
--- /dev/null
+++ b/patches/packages/pidgin-2.12.0-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+pidgin: pidgin (GTK+ instant messaging program)
+pidgin:
+pidgin: Pidgin allows you to talk to anyone using a variety of messaging
+pidgin: protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN
+pidgin: Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols
+pidgin: are implemented using a modular, easy to use design. To use a
+pidgin: protocol, just load the plugin for it.
+pidgin:
+pidgin: For more info, see: http://www.pidgin.im
+pidgin:
+pidgin:
diff --git a/patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt b/patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..49f4bfcc
--- /dev/null
+++ b/patches/packages/pkg-config-0.29.2-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+pkg-config: pkg-config (system for managing library compile/link flags)
+pkg-config:
+pkg-config: pkg-config is a system for managing library compile/link flags
+pkg-config: that works with automake and autoconf. It replaces the ubiquitous
+pkg-config: *-config scripts you may have seen with a single tool. See the man
+pkg-config: page that comes with pkg-config for full documentation.
+pkg-config:
+pkg-config:
+pkg-config:
+pkg-config:
+pkg-config:
diff --git a/patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt b/patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..19ad8b21
--- /dev/null
+++ b/patches/packages/procps-ng-3.3.15-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+procps-ng: procps-ng (utilities for displaying process information)
+procps-ng:
+procps-ng: The procps-ng package provides the classic set of utilities used to
+procps-ng: display information about the processes currently running on the
+procps-ng: machine.
+procps-ng:
+procps-ng: Homepage: http://sourceforge.net/projects/procps-ng/
+procps-ng:
+procps-ng:
+procps-ng:
+procps-ng:
diff --git a/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7053edf3
--- /dev/null
+++ b/patches/packages/proftpd-1.3.5e-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+proftpd: proftpd (FTP server daemon)
+proftpd:
+proftpd: ProFTPD is the Professional File Transfer Protocol (FTP) server
+proftpd: daemon. ProFTPD grew out of the desire to have a secure and
+proftpd: configurable FTP server, and out of a significant admiration of the
+proftpd: Apache web server.
+proftpd:
+proftpd:
+proftpd:
+proftpd:
+proftpd:
diff --git a/patches/packages/python-2.7.15-x86_64-1_slack14.2.txt b/patches/packages/python-2.7.15-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..047c1bd4
--- /dev/null
+++ b/patches/packages/python-2.7.15-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+python: python (object-oriented interpreted programming language)
+python:
+python: Python is an interpreted, interactive, object-oriented programming
+python: language that combines remarkable power with very clear syntax.
+python: Python's basic power can be extended with your own modules written in
+python: C or C++. Python is also adaptable as an extension language for
+python: existing applications.
+python:
+python:
+python:
+python:
diff --git a/patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt b/patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..1b4be2ef
--- /dev/null
+++ b/patches/packages/rpcbind-0.2.4-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+rpcbind: rpcbind (a daemon to manage RPC connections)
+rpcbind:
+rpcbind: This is a network daemon used to manage connections to RPC services.
+rpcbind: It is meant as a replacement for the 'rpc.portmap' server from the
+rpcbind: 'portmap' package. Daemons that offer RPC services (such as the
+rpcbind: daemons for NFS) tell the rpcbind on what port they listen.
+rpcbind: RPC network port numbers may change each time the system is booted.
+rpcbind:
+rpcbind: This package is required to use NFS or other RPC services.
+rpcbind:
+rpcbind: Homepage: http://sourceforge.net/projects/rpcbind/
diff --git a/patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt b/patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7565757a
--- /dev/null
+++ b/patches/packages/rsync-3.1.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+rsync: rsync (remote file sync)
+rsync:
+rsync: rsync is a replacement for rcp that has many more features. It
+rsync: uses the "rsync algorithm" which provides a very fast method for
+rsync: bringing remote files into sync. It does this by sending just the
+rsync: differences in the files across the link, without requiring that both
+rsync: sets of files are present at one of the ends of the link beforehand.
+rsync: rsync was written by Andrew Tridgell and Paul Mackerras.
+rsync:
+rsync: Homepage: http://rsync.samba.org
+rsync:
diff --git a/patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt b/patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..265efadf
--- /dev/null
+++ b/patches/packages/ruby-2.2.10-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+ruby: ruby (Interpreted object-oriented scripting language)
+ruby:
+ruby: Ruby is an interpreted scripting language for quick and easy
+ruby: object-oriented programming. It has many features to process text
+ruby: files and to do system management tasks (as in Perl). It is simple,
+ruby: straight-forward, and extensible.
+ruby:
+ruby: Visit the Ruby project online at http://www.ruby-lang.org/
+ruby:
+ruby:
+ruby:
diff --git a/patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..21fc353f
--- /dev/null
+++ b/patches/packages/rxvt-2.7.10-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+rxvt: rxvt (terminal emulator)
+rxvt:
+rxvt: rxvt is a color vt102 terminal emulator intended as an xterm
+rxvt: replacement for users who do not require features such as Tektronix
+rxvt: 4014 emulation and toolkit-style configurability. As a result, rxvt
+rxvt: uses much less memory -- a significant advantage on a machine serving
+rxvt: many X sessions. Also included is rclock, an analog clock for X.
+rxvt:
+rxvt:
+rxvt:
+rxvt:
diff --git a/patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt b/patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt
new file mode 100644
index 00000000..f4b2ff06
--- /dev/null
+++ b/patches/packages/samba-4.4.16-x86_64-3_slack14.2.txt
@@ -0,0 +1,11 @@
+samba: samba (CIFS file and print server)
+samba:
+samba: Samba is a CIFS file and print server for CIFS clients. It allows
+samba: you to make file space or printers on a Samba host available to CIFS
+samba: clients (such as PCs running Windows).
+samba:
+samba: If you have any Windows file servers, you may be able to replace them
+samba: or supplement them with Samba. One of Samba's big strengths is
+samba: integration, so you can use it to tie together your Linux hosts and
+samba: Windows PC clients.
+samba:
diff --git a/patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt b/patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..f38ca50f
--- /dev/null
+++ b/patches/packages/scim-1.4.17-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+scim: scim (Smart Common Input Method platform)
+scim:
+scim: SCIM is an input platform for CJK and other languages.
+scim: It aims to significantly reduce the difficulty of input method
+scim: development.
+scim:
+scim: See the scim scripts in /etc/profile.d/ for setup info.
+scim:
+scim: scim home: http://www.scim-im.org/
+scim:
+scim:
diff --git a/patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt b/patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..b788c297
--- /dev/null
+++ b/patches/packages/screen-4.4.0-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+screen: screen (screen manager with VT100/ANSI terminal emulation)
+screen:
+screen: Screen is a full-screen window manager that multiplexes a physical
+screen: terminal between several processes (typically interactive shells).
+screen: Each virtual terminal provides the functions of a DEC VT100 terminal
+screen: and several control functions from the ISO 6492 (ECMA 48, ANSI X3.64)
+screen: and ISO 2022 standards (e.g. insert/delete line and support for
+screen: multiple character sets). There is a scrollback history buffer for
+screen: each virtual terminal and a copy-and-paste mechanism that allows
+screen: moving text regions between windows.
+screen:
diff --git a/patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt b/patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..5706c71e
--- /dev/null
+++ b/patches/packages/sdl-1.2.15-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+sdl: sdl (Simple DirectMedia Layer library)
+sdl:
+sdl: This is the Simple DirectMedia Layer, a generic API that provides low
+sdl: level access to audio, keyboard, mouse, joystick, 3D hardware via
+sdl: OpenGL, and 2D framebuffer across multiple platforms.
+sdl:
+sdl: SDL links against alsa-lib, audiofile, esound, and the X11 libraries.
+sdl: Make sure all of these are installed if you're planning to use SDL
+sdl: (a full installation will cover all of the prerequisites).
+sdl:
+sdl:
diff --git a/patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt b/patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..da07187a
--- /dev/null
+++ b/patches/packages/seamonkey-2.49.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+seamonkey: SeaMonkey (an open-source web browser suite)
+seamonkey:
+seamonkey: The SeaMonkey browser suite. SeaMonkey features a state-of-the-art
+seamonkey: web browser and powerful email client, as well as a WYSIWYG web page
+seamonkey: composer and a feature-rich IRC chat client.
+seamonkey:
+seamonkey:
+seamonkey:
+seamonkey: Visit the SeaMonkey project at this URL:
+seamonkey: http://www.mozilla.org/projects/seamonkey/
+seamonkey:
diff --git a/patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt b/patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..830b825d
--- /dev/null
+++ b/patches/packages/seamonkey-solibs-2.49.3-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
+seamonkey-solibs:
+seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
+seamonkey-solibs: to provide runtime support for various programs.
+seamonkey-solibs: This package is built from the Seamonkey sources and is provided
+seamonkey-solibs: as a standalone runtime package for people who do not want to install
+seamonkey-solibs: the entire seamonkey package (as for server use).
+seamonkey-solibs:
+seamonkey-solibs: This package is runtime only. The include files and other files for
+seamonkey-solibs: development can be found in the seamonkey package.
+seamonkey-solibs:
diff --git a/patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt b/patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..9f6c65dd
--- /dev/null
+++ b/patches/packages/squashfs-tools-4.3-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+squashfs-tools: squashfs-tools (squashed read-only filesystem for Linux)
+squashfs-tools:
+squashfs-tools: Squashfs is a highly compressed read-only filesystem for Linux.
+squashfs-tools: Squashfs compresses both files, inodes and directories, and
+squashfs-tools: supports block sizes up to 1Mbytes for greater compression.
+squashfs-tools: It is implemented as a kernel module under VFS.
+squashfs-tools: The package contains tools for manipulation of squashfs bundles.
+squashfs-tools:
+squashfs-tools:
+squashfs-tools: squashfs-tools home: http://squashfs.sourceforge.net/
+squashfs-tools:
diff --git a/patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt b/patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt
new file mode 100644
index 00000000..2e5c70ca
--- /dev/null
+++ b/patches/packages/stunnel-5.35-x86_64-2_slack14.2.txt
@@ -0,0 +1,11 @@
+stunnel: stunnel (Universal SSL tunnel)
+stunnel:
+stunnel: The stunnel program is designed to work as an SSL encryption wrapper
+stunnel: between remote client and local (inetd-startable) or remote servers.
+stunnel: The goal is to facilitate SSL encryption and authentication for
+stunnel: non-SSL-aware programs.
+stunnel:
+stunnel: stunnel can be used to add SSL functionality to commonly used inetd
+stunnel: daemons like POP-2, POP-3 and IMAP servers without any changes in the
+stunnel: programs' code.
+stunnel:
diff --git a/patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt b/patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..7b438689
--- /dev/null
+++ b/patches/packages/subversion-1.9.7-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+subversion: subversion (a version control system)
+subversion:
+subversion: Subversion is a version control system which allows you to keep old
+subversion: versions of files and directories (usually source code), and keep a
+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:
diff --git a/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..1f1087d7
--- /dev/null
+++ b/patches/packages/sudo-1.8.20p2-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+sudo: sudo (give limited root privileges to certain users)
+sudo:
+sudo: 'sudo' is a command that allows users to execute some commands as
+sudo: root. The /etc/sudoers file (edited with 'visudo') specifies which
+sudo: users have access to sudo and which commands they can run. 'sudo'
+sudo: logs all its activities to /var/log/ so the system administrator
+sudo: can keep an eye on things.
+sudo:
+sudo:
+sudo:
+sudo:
diff --git a/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..cee0ef1a
--- /dev/null
+++ b/patches/packages/tcpdump-4.9.2-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+tcpdump: tcpdump (network monitoring tool)
+tcpdump:
+tcpdump: Tcpdump is a tool for network monitoring and data acquisition. You
+tcpdump: can use it to dump information on all the packets on a network that
+tcpdump: match a boolean expression. Tcpdump uses libpcap, a system
+tcpdump: independent interface for user-level packet capture.
+tcpdump:
+tcpdump: Project homepage: http://www.tcpdump.org
+tcpdump:
+tcpdump:
+tcpdump:
diff --git a/patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt b/patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..cd0faad0
--- /dev/null
+++ b/patches/packages/wget-1.19.5-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+wget: wget (a non-interactive network retriever)
+wget:
+wget: GNU Wget is a free network utility to retrieve files from the
+wget: World Wide Web using HTTP and FTP, the two most widely used Internet
+wget: protocols. It works non-interactively, thus enabling work in the
+wget: background after having logged off.
+wget:
+wget: The author of Wget is Hrvoje Niksic <hniksic@srce.hr>.
+wget:
+wget:
+wget:
diff --git a/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..3c64dd12
--- /dev/null
+++ b/patches/packages/wpa_supplicant-2.6-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+wpa_supplicant: wpa_supplicant (WPA/WPA2/IEEE 802.1X Supplicant)
+wpa_supplicant:
+wpa_supplicant: wpa_supplicant is a WPA Supplicant for Linux with support for WPA and
+wpa_supplicant: WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE 802.1X/WPA
+wpa_supplicant: component that is used in the client stations. It implements key
+wpa_supplicant: negotiation with a WPA Authenticator and it controls the roaming and
+wpa_supplicant: IEEE 802.11 authentication/association of the wlan driver.
+wpa_supplicant:
+wpa_supplicant: More info: http://hostap.epitest.fi/wpa_supplicant/
+wpa_supplicant:
+wpa_supplicant:
diff --git a/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..fa3bc626
--- /dev/null
+++ b/patches/packages/xfce4-weather-plugin-0.8.10-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+xfce4-weather-plugin: xfce4-weather-plugin (weather plugin for the Xfce panel)
+xfce4-weather-plugin:
+xfce4-weather-plugin: The weather plugin displays current weather conditions and forecasts.
+xfce4-weather-plugin:
+xfce4-weather-plugin:
+xfce4-weather-plugin:
+xfce4-weather-plugin:
+xfce4-weather-plugin:
+xfce4-weather-plugin:
+xfce4-weather-plugin:
+xfce4-weather-plugin:
diff --git a/patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..1ebe1b27
--- /dev/null
+++ b/patches/packages/xorg-server-1.18.3-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+xorg-server: xorg-server (The Xorg server, the core of the X Window System)
+xorg-server:
+xorg-server: Xorg is a full featured X server that was originally designed for UNIX
+xorg-server: and UNIX-like operating systems running on Intel x86 hardware. It now
+xorg-server: runs on a wider range of hardware and OS platforms. This work was
+xorg-server: derived by the X.Org Foundation from the XFree86 Project's XFree86
+xorg-server: 4.4rc2 release. The XFree86 release was originally derived from X386
+xorg-server: 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics
+xorg-server: Consulting Service.
+xorg-server:
+xorg-server: The home page for the X project is: http://www.x.org
diff --git a/patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..2ffb35f6
--- /dev/null
+++ b/patches/packages/xorg-server-xephyr-1.18.3-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+xorg-server-xephyr: xorg-server-xephyr (Improved nested X server/client)
+xorg-server-xephyr:
+xorg-server-xephyr: Xephyr is a nested X-Client like Xnest, but with some additional
+xorg-server-xephyr: features like XRender support.
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
+xorg-server-xephyr:
diff --git a/patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..31dc1e78
--- /dev/null
+++ b/patches/packages/xorg-server-xnest-1.18.3-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+xorg-server-xnest: xorg-server-xnest (a nested X server)
+xorg-server-xnest:
+xorg-server-xnest: Xnest is an experimental nested server for X that acts as both a
+xorg-server-xnest: client and a server. Xnest is a client of the real server which
+xorg-server-xnest: manages windows and graphics requests on its behalf. Xnest is a
+xorg-server-xnest: server to its own clients. Xnest manages windows and graphics
+xorg-server-xnest: requests on their behalf. To these clients Xnest appears to be a
+xorg-server-xnest: conventional server.
+xorg-server-xnest:
+xorg-server-xnest:
+xorg-server-xnest:
diff --git a/patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt b/patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt
new file mode 100644
index 00000000..3a7122df
--- /dev/null
+++ b/patches/packages/xorg-server-xvfb-1.18.3-x86_64-5_slack14.2.txt
@@ -0,0 +1,11 @@
+xorg-server-xvfb: xorg-server-xvfb (virtual framebuffer X server)
+xorg-server-xvfb:
+xorg-server-xvfb: Xvfb is an X server that can run on machines with no display hardware
+xorg-server-xvfb: and no physical input devices. It emulates a dumb framebuffer using
+xorg-server-xvfb: virtual memory. The primary use of this server is intended to be
+xorg-server-xvfb: server testing. The mfb or cfb code for any depth can be exercised
+xorg-server-xvfb: with this server without the need for real hardware that supports the
+xorg-server-xvfb: desired depths. A secondary use is testing clients against unusual
+xorg-server-xvfb: depths and screen configurations.
+xorg-server-xvfb:
+xorg-server-xvfb:
diff --git a/patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt
new file mode 100644
index 00000000..62dcff51
--- /dev/null
+++ b/patches/packages/xscreensaver-5.38-x86_64-1_slack14.2.txt
@@ -0,0 +1,11 @@
+xscreensaver: xscreensaver (a screen saver and locker for X)
+xscreensaver:
+xscreensaver: A modular screen saver and locker for the X Window System. Highly
+xscreensaver: customizable: allows the use of any program that can draw on the
+xscreensaver: root window as a display mode. More than 100 display modes are
+xscreensaver: included in this package.
+xscreensaver:
+xscreensaver: Homepage: http://www.jwz.org/xscreensaver
+xscreensaver:
+xscreensaver:
+xscreensaver:
diff --git a/patches/source/NetworkManager/55NetworkManager b/patches/source/NetworkManager/55NetworkManager
new file mode 100644
index 00000000..d7b3ee6a
--- /dev/null
+++ b/patches/source/NetworkManager/55NetworkManager
@@ -0,0 +1,39 @@
+#!/bin/sh
+# If we are running NetworkManager, tell it we are going to sleep.
+
+. "${PM_FUNCTIONS}"
+
+suspend_nm()
+{
+ # Tell NetworkManager to shut down networking
+ printf "Having NetworkManager put all interaces to sleep..."
+ dbus_send --system --print-reply \
+ --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+ org.freedesktop.NetworkManager.Sleep \
+ boolean:true && \
+ echo Done. || echo Failed.
+}
+
+resume_nm()
+{
+ # Wake up NetworkManager and make it do a new connection
+ printf "Having NetworkManager wake interfaces back up..."
+ dbus_send --system --print-reply \
+ --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+ org.freedesktop.NetworkManager.Sleep \
+ boolean:false && \
+ echo Done. || echo Failed.
+}
+
+case "$1" in
+ hibernate|suspend)
+ suspend_nm
+ ;;
+ thaw|resume)
+ resume_nm
+ ;;
+ *) exit $NA
+ ;;
+esac
diff --git a/patches/source/NetworkManager/NetworkManager.SlackBuild b/patches/source/NetworkManager/NetworkManager.SlackBuild
new file mode 100755
index 00000000..ae5dc7ca
--- /dev/null
+++ b/patches/source/NetworkManager/NetworkManager.SlackBuild
@@ -0,0 +1,181 @@
+#!/bin/sh
+
+# Copyright 2010, 2011, 2014, 2016 Robby Workman, Northport, Alabama, USA
+# Copyright 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Modified 2011, 2012 by Eric Hameleers, Eindhoven, NL
+
+PKGNAM=NetworkManager
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.2}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i586 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Find the version number for pppd, used to specify the plugin directory:
+PPPD=$(echo /usr/lib${LIBDIRSUFFIX}/pppd/?.?.? | rev | cut -f 1 -d / | rev)
+
+# Apply bugfix patches from upstream git:
+for dfile in $CWD/patches/* ; do
+ zcat $dfile | patch -p1 --verbose || exit 1
+done
+
+# For git-patched builds
+autoreconf -vif
+automake
+./autogen.sh
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --with-udev-dir=/lib/udev \
+ --with-pppd-plugin-dir=/usr/lib${LIBDIRSUFFIX}/pppd/$PPPD \
+ --with-crypto=nss \
+ --enable-more-warnings=no \
+ --without-resolvconf \
+ --with-dhcpcd=/sbin/dhcpcd \
+ --with-dhclient=yes \
+ --with-modem-manager-1=yes \
+ --with-nmtui=yes \
+ --disable-vala \
+ --disable-json-validation \
+ --with-session-tracking=consolekit \
+ --with-suspend-resume=consolekit \
+ --with-hostname-persist=slackware \
+ --build=$TARGET || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Fix hardlinked manpages:
+( cd $PKG/usr/man/man1
+ ln -sf nmtui.1 nmtui-connect.1
+ ln -sf nmtui.1 nmtui-edit.1
+ ln -sf nmtui.1 nmtui-hostname.1
+)
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# In case NetworkManager tries to install something here:
+rm -f $PKG/etc/rc.d/rc.networkmanager
+
+# Don't clobber existing rc.networkmanager
+# Don't run NetworkManager by default just because it got installed.
+# Instead, the init script will have to be made executable first.
+# This should avoid nasty surprises on potentially remotely located machines.
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.networkmanager > $PKG/etc/rc.d/rc.networkmanager.new
+chmod 0644 $PKG/etc/rc.d/rc.networkmanager.new
+
+# Add the pm-utils hook back in
+# xfce4-power-manager needs to be built *without* NM support
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/
+cat $CWD/55NetworkManager > $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager
+chmod 0755 $PKG/usr/lib${LIBDIRSUFFIX}/pm-utils/sleep.d/55NetworkManager
+
+# Add default (plain) config file to enable keyfile plugin
+cat $CWD/NetworkManager.conf > $PKG/etc/NetworkManager/NetworkManager.conf.new
+
+# Set dhcp client to "dhcpcd" and rc-manager to "file" by default
+mkdir -p $PKG/etc/NetworkManager/conf.d
+cat $CWD/conf.d/00-dhcp-client.conf > $PKG/etc/NetworkManager/conf.d/00-dhcp-client.conf.new
+cat $CWD/conf.d/00-rc-manager.conf > $PKG/etc/NetworkManager/conf.d/00-rc-manager.conf.new
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS CONTRIBUTING COPYING ChangeLog INSTALL NEWS README TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+ touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg --prepend -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/NetworkManager/NetworkManager.conf b/patches/source/NetworkManager/NetworkManager.conf
new file mode 100644
index 00000000..eb8f6ae1
--- /dev/null
+++ b/patches/source/NetworkManager/NetworkManager.conf
@@ -0,0 +1,7 @@
+# /etc/NetworkManager/NetworkManager.conf
+#
+# See additional config files (such as for DHCP settings) in ./conf.d
+
+[main]
+plugins=keyfile
+
diff --git a/patches/source/NetworkManager/conf.d/00-dhcp-client.conf b/patches/source/NetworkManager/conf.d/00-dhcp-client.conf
new file mode 100644
index 00000000..7b52815f
--- /dev/null
+++ b/patches/source/NetworkManager/conf.d/00-dhcp-client.conf
@@ -0,0 +1,8 @@
+[main]
+# Choose a DHCP client below. Upstream recommends dhclient, but results may vary.
+# dhcpcd is the DHCP client usually used by Slackware:
+dhcp=dhcpcd
+# dhclient is the ISC reference DHCP client, part of the dhcp package:
+#dhcp=dhclient
+# This is a simple DHCP client that is built into NetworkManager:
+#dhcp=internal
diff --git a/patches/source/NetworkManager/conf.d/00-rc-manager.conf b/patches/source/NetworkManager/conf.d/00-rc-manager.conf
new file mode 100644
index 00000000..c848c003
--- /dev/null
+++ b/patches/source/NetworkManager/conf.d/00-rc-manager.conf
@@ -0,0 +1,2 @@
+[main]
+rc-manager=file
diff --git a/patches/source/NetworkManager/doinst.sh b/patches/source/NetworkManager/doinst.sh
new file mode 100644
index 00000000..6c88b8cf
--- /dev/null
+++ b/patches/source/NetworkManager/doinst.sh
@@ -0,0 +1,42 @@
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ mv ${NEW} ${OLD}
+}
+
+if [ -e etc/HOSTNAME ]; then
+ sed -i "s,yourhostname,$(cat etc/HOSTNAME | cut -f1 -d .)," \
+ etc/NetworkManager/NetworkManager.conf.new
+fi
+
+# Preserve permissions, but move this into place. Otherwise the net
+# connection could be lost at a remote location.
+preserve_perms etc/rc.d/rc.networkmanager.new
+config etc/NetworkManager/NetworkManager.conf.new
+config etc/NetworkManager/conf.d/00-rc-manager.conf.new
+config etc/NetworkManager/conf.d/00-dhcp-client.conf.new
+
+# If the .pid file is found in the old location, move it to the new one:
+if [ -r var/run/NetworkManager.pid ]; then
+ mv var/run/NetworkManager.pid var/run/NetworkManager/NetworkManager.pid
+fi
+
diff --git a/patches/source/NetworkManager/rc.networkmanager b/patches/source/NetworkManager/rc.networkmanager
new file mode 100644
index 00000000..b6b311ed
--- /dev/null
+++ b/patches/source/NetworkManager/rc.networkmanager
@@ -0,0 +1,113 @@
+#!/bin/sh
+#
+# NetworkManager: NetworkManager daemon
+#
+# description: This is a daemon for automatically switching network \
+# connections to the best available connection. \
+#
+# processname: NetworkManager
+# pidfile: /var/run/NetworkManager/NetworkManager.pid
+#
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+
+NETWORKMANAGER_BIN=${sbindir}/NetworkManager
+
+# Sanity checks.
+[ -x $NETWORKMANAGER_BIN ] || exit 0
+
+PIDFILE=/var/run/NetworkManager/NetworkManager.pid
+
+nm_start()
+{
+ if [ "`pgrep dbus-daemon`" = "" ]; then
+ echo "D-BUS must be running to start NetworkManager"
+ return
+ fi
+
+ # Just in case the pidfile is still there, we may need to nuke it.
+ if [ -e "$PIDFILE" ]; then
+ rm -f $PIDFILE
+ fi
+
+ echo "Starting NetworkManager daemon: $NETWORKMANAGER_BIN"
+ XDG_CACHE_HOME=/root/.cache $NETWORKMANAGER_BIN
+}
+
+nm_status()
+{
+ local pidlist=`cat $PIDFILE 2>/dev/null`
+ if [ -z "$pidlist" ]; then
+ return 1
+ fi
+ local command=`ps -p $pidlist -o comm=`
+ if [ "$command" != 'NetworkManager' ]; then
+ return 1
+ fi
+}
+
+nm_stop()
+{
+ echo -en "Stopping NetworkManager: "
+ # Shut down any DHCP connections, otherwise the processes will be orphaned
+ # and the connections will not come up when NetworkManager restarts.
+ if ps ax | grep /sbin/dhcpcd | grep -q libexec/nm-dhcp ; then
+ ps ax | grep /sbin/dhcpcd | grep libexec/nm-dhcp | while read line ; do
+ kill -HUP $(echo $line | cut -b 1-5)
+ done
+ fi
+ if ps ax | grep /sbin/dhclient | grep -q /var/lib/NetworkManager ; then
+ ps ax | grep /sbin/dhclient | grep /var/lib/NetworkManager | while read line ; do
+ kill -HUP $(echo $line | cut -b 1-5)
+ done
+ fi
+ local pidlist=`cat $PIDFILE 2>/dev/null`
+ if [ ! -z "$pidlist" ]; then
+ kill $pidlist &>/dev/null
+ sleep 3
+ rm -f $PIDFILE &>/dev/null
+ fi
+ # If wpa_supplicant is running here, it needs to be shut down as well.
+ # Since you're asking for NetworkManager to shut down, we have to assume
+ # that wpa_supplicant was started by it.
+ if [ -r /var/run/wpa_supplicant.pid ]; then
+ kill $(cat /var/run/wpa_supplicant.pid)
+ elif [ -r /run/wpa_supplicant.pid ]; then
+ kill $(cat /run/wpa_supplicant.pid)
+ fi
+ echo "stopped";
+ sleep 3
+}
+
+nm_restart()
+{
+ nm_stop
+ nm_start
+}
+
+case "$1" in
+'start')
+ if ( ! nm_status ); then
+ nm_start
+ else
+ echo "NetworkManager is already running (will not start it twice)."
+ fi
+ ;;
+'stop')
+ nm_stop
+ ;;
+'restart')
+ nm_restart
+ ;;
+'status')
+ if ( nm_status ); then
+ echo "NetworkManager is currently running"
+ else
+ echo "NetworkManager is not running."
+ fi
+ ;;
+*)
+ echo "usage $0 start|stop|status|restart"
+esac
diff --git a/patches/source/NetworkManager/slack-desc b/patches/source/NetworkManager/slack-desc
new file mode 100644
index 00000000..96496048
--- /dev/null
+++ b/patches/source/NetworkManager/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+NetworkManager: NetworkManager (Networking that Just Works)
+NetworkManager:
+NetworkManager: The point of NetworkManager is to make networking configuration and
+NetworkManager: setup as painless and automatic as possible. NetworkManager sets IP
+NetworkManager: addresses, default routes, associating with wireless access points
+NetworkManager: or wired LANs, and other network configuration settings in a simple,
+NetworkManager: automated fashion (manual overrides are still possible).
+NetworkManager:
+NetworkManager: Home page: http://projects.gnome.org/NetworkManager/
+NetworkManager:
+NetworkManager:
diff --git a/patches/source/bash/bash-4.3-patches/bash43-001 b/patches/source/bash/bash-4.3-patches/bash43-001
new file mode 100644
index 00000000..ea1c6b26
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-001
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-001
+
+Bug-Reported-by: NBaH <nbah@sfr.fr>
+Bug-Reference-ID: <ler0b5$iu9$1@speranza.aioe.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html
+
+Bug-Description:
+
+A missing check for a valid option prevented `test -R' from working. There
+is another problem that causes bash to look up the wrong variable name when
+processing the argument to `test -R'.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500
+--- test.c 2014-02-28 21:22:44.000000000 -0500
+***************
+*** 647,652 ****
+
+ case 'R':
+! v = find_variable (arg);
+! return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE);
+ }
+
+--- 647,652 ----
+
+ case 'R':
+! v = find_variable_noref (arg);
+! return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE);
+ }
+
+***************
+*** 724,727 ****
+--- 724,728 ----
+ case 'u': case 'v': case 'w': case 'x': case 'z':
+ case 'G': case 'L': case 'O': case 'S': case 'N':
++ case 'R':
+ return (1);
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 0
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-002 b/patches/source/bash/bash-4.3-patches/bash43-002
new file mode 100644
index 00000000..735b7b81
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-002
@@ -0,0 +1,62 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-002
+
+Bug-Reported-by: Moe Tunes <moetunes42@gmail.com>
+Bug-Reference-ID: <53103F49.3070100@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00086.html
+
+Bug-Description:
+
+A change to save state while running the DEBUG trap caused pipelines to hang
+on systems which need process group synchronization while building pipelines.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500
+--- trap.c 2014-02-28 09:51:43.000000000 -0500
+***************
+*** 921,925 ****
+
+ #if defined (JOB_CONTROL)
+! save_pipeline (1); /* XXX only provides one save level */
+ #endif
+
+--- 921,926 ----
+
+ #if defined (JOB_CONTROL)
+! if (sig != DEBUG_TRAP) /* run_debug_trap does this */
+! save_pipeline (1); /* XXX only provides one save level */
+ #endif
+
+***************
+*** 941,945 ****
+
+ #if defined (JOB_CONTROL)
+! restore_pipeline (1);
+ #endif
+
+--- 942,947 ----
+
+ #if defined (JOB_CONTROL)
+! if (sig != DEBUG_TRAP) /* run_debug_trap does this */
+! restore_pipeline (1);
+ #endif
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-003 b/patches/source/bash/bash-4.3-patches/bash43-003
new file mode 100644
index 00000000..0f32f410
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-003
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-003
+
+Bug-Reported-by: Anatol Pomozov <anatol.pomozov@gmail.com>
+Bug-Reference-ID: <CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html
+
+Bug-Description:
+
+When in callback mode, some readline commands can cause readline to seg
+fault by passing invalid contexts to callback functions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400
+***************
+*** 745,749 ****
+
+ RL_CHECK_SIGNALS ();
+! if (r == 0) /* success! */
+ {
+ _rl_keyseq_chain_dispose ();
+--- 745,750 ----
+
+ RL_CHECK_SIGNALS ();
+! /* We only treat values < 0 specially to simulate recursion. */
+! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */
+ {
+ _rl_keyseq_chain_dispose ();
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-004 b/patches/source/bash/bash-4.3-patches/bash43-004
new file mode 100644
index 00000000..010f04a2
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-004
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-004
+
+Bug-Reported-by: Daan van Rossum <daan@flash.uchicago.edu>
+Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu>
+Bug-Reference-URL:
+
+Bug-Description:
+
+The `.' command in vi mode cannot undo multi-key commands beginning with
+`c', `d', and `y' (command plus motion specifier).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500
+***************
+*** 965,969 ****
+ if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+ key != ANYOTHERKEY &&
+! rl_key_sequence_length == 1 && /* XXX */
+ _rl_vi_textmod_command (key))
+ _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+--- 965,969 ----
+ if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+ key != ANYOTHERKEY &&
+! _rl_dispatching_keymap == vi_movement_keymap &&
+ _rl_vi_textmod_command (key))
+ _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-005 b/patches/source/bash/bash-4.3-patches/bash43-005
new file mode 100644
index 00000000..bcd40697
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-005
@@ -0,0 +1,63 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-005
+
+Bug-Reported-by: David Sines <dave.gma@googlemail.com>
+Bug-Reference-ID: <CAO3BAa_CK_Rgkhdfzs+NJ4KFYdB9qW3pvXQK0xLCi6GMmDU8bw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00037.html
+
+Bug-Description:
+
+When in Posix mode, bash did not correctly interpret the ANSI-C-style
+$'...' quoting mechanism when performing pattern substitution word
+expansions within double quotes.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/parse.y 2014-02-11 09:42:10.000000000 -0500
+--- parse.y 2014-03-07 20:57:15.000000000 -0500
+***************
+*** 3399,3403 ****
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+--- 3399,3403 ----
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+*** ../bash-4.3/y.tab.c 2014-02-11 10:57:47.000000000 -0500
+--- y.tab.c 2014-03-28 10:41:15.000000000 -0400
+***************
+*** 5711,5715 ****
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+--- 5711,5715 ----
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-006 b/patches/source/bash/bash-4.3-patches/bash43-006
new file mode 100644
index 00000000..24ff057a
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-006
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-006
+
+Bug-Reported-by: Eduardo A . Bustamante Lopez <dualbus@gmail.com>
+Bug-Reference-ID: <20140228170013.GA16015@dualbus.me>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00091.html
+
+Bug-Description:
+
+A shell that started with job control active but was not interactive left
+the terminal in the wrong process group when exiting, causing its parent
+shell to get a stop signal when it attempted to read from the terminal.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500
+--- jobs.c 2014-03-02 18:05:09.000000000 -0500
+***************
+*** 4375,4379 ****
+ end_job_control ()
+ {
+! if (interactive_shell) /* XXX - should it be interactive? */
+ {
+ terminate_stopped_jobs ();
+--- 4375,4379 ----
+ end_job_control ()
+ {
+! if (interactive_shell || job_control) /* XXX - should it be just job_control? */
+ {
+ terminate_stopped_jobs ();
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-007 b/patches/source/bash/bash-4.3-patches/bash43-007
new file mode 100644
index 00000000..0d62c9ec
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-007
@@ -0,0 +1,50 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-007
+
+Bug-Reported-by: geir.hauge@gmail.com
+Bug-Reference-ID: <20140318093650.B181C1C5B0B@gina.itea.ntnu.no>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html
+
+Bug-Description:
+
+Using compound assignments for associative arrays like
+
+assoc=( [x]= [y]=bar )
+
+left the value corresponding to the key `x' NULL. This caused subsequent
+lookups to interpret it as unset.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400
+--- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400
+***************
+*** 598,601 ****
+--- 598,606 ----
+ {
+ val = expand_assignment_string_to_string (val, 0);
++ if (val == 0)
++ {
++ val = (char *)xmalloc (1);
++ val[0] = '\0'; /* like do_assignment_internal */
++ }
+ free_val = 1;
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-008 b/patches/source/bash/bash-4.3-patches/bash43-008
new file mode 100644
index 00000000..0ae7c952
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-008
@@ -0,0 +1,188 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-008
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID: <20140318135901.GB22158@chaz.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html
+
+Bug-Description:
+
+Some extended glob patterns incorrectly matched filenames with a leading
+dot, regardless of the setting of the `dotglob' option.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400
+--- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400
+***************
+*** 211,214 ****
+--- 211,215 ----
+ case '!':
+ case '@':
++ case '?':
+ return (pat[1] == LPAREN);
+ default:
+*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500
+--- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400
+***************
+*** 180,202 ****
+ int flags;
+ {
+! char *pp, *pe, *t;
+! int n, r;
+
+ pp = pat + 2;
+! pe = pp + strlen (pp) - 1; /*(*/
+! if (*pe != ')')
+! return 0;
+! if ((t = strchr (pp, '|')) == 0) /* easy case first */
+ {
+ *pe = '\0';
+ r = skipname (pp, dname, flags); /*(*/
+ *pe = ')';
+ return r;
+ }
+ while (t = glob_patscan (pp, pe, '|'))
+ {
+ n = t[-1];
+ t[-1] = '\0';
+ r = skipname (pp, dname, flags);
+ t[-1] = n;
+ if (r == 0) /* if any pattern says not skip, we don't skip */
+--- 180,215 ----
+ int flags;
+ {
+! char *pp, *pe, *t, *se;
+! int n, r, negate;
+
++ negate = *pat == '!';
+ pp = pat + 2;
+! se = pp + strlen (pp) - 1; /* end of string */
+! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */
+! /* we should check for invalid extglob pattern here */
+! /* if pe != se we have more of the pattern at the end of the extglob
+! pattern. Check the easy case first ( */
+! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0)
+ {
+ *pe = '\0';
++ #if defined (HANDLE_MULTIBYTE)
++ r = mbskipname (pp, dname, flags);
++ #else
+ r = skipname (pp, dname, flags); /*(*/
++ #endif
+ *pe = ')';
+ return r;
+ }
++
++ /* check every subpattern */
+ while (t = glob_patscan (pp, pe, '|'))
+ {
+ n = t[-1];
+ t[-1] = '\0';
++ #if defined (HANDLE_MULTIBYTE)
++ r = mbskipname (pp, dname, flags);
++ #else
+ r = skipname (pp, dname, flags);
++ #endif
+ t[-1] = n;
+ if (r == 0) /* if any pattern says not skip, we don't skip */
+***************
+*** 205,219 ****
+ } /*(*/
+
+! if (pp == pe) /* glob_patscan might find end of pattern */
+ return r;
+
+! *pe = '\0';
+! # if defined (HANDLE_MULTIBYTE)
+! r = mbskipname (pp, dname, flags); /*(*/
+! # else
+! r = skipname (pp, dname, flags); /*(*/
+! # endif
+! *pe = ')';
+! return r;
+ }
+ #endif
+--- 218,227 ----
+ } /*(*/
+
+! /* glob_patscan might find end of pattern */
+! if (pp == se)
+ return r;
+
+! /* but if it doesn't then we didn't match a leading dot */
+! return 0;
+ }
+ #endif
+***************
+*** 278,289 ****
+ {
+ #if EXTENDED_GLOB
+! wchar_t *pp, *pe, *t, n;
+! int r;
+
+ pp = pat + 2;
+! pe = pp + wcslen (pp) - 1; /*(*/
+! if (*pe != L')')
+! return 0;
+! if ((t = wcschr (pp, L'|')) == 0)
+ {
+ *pe = L'\0';
+--- 286,298 ----
+ {
+ #if EXTENDED_GLOB
+! wchar_t *pp, *pe, *t, n, *se;
+! int r, negate;
+
++ negate = *pat == L'!';
+ pp = pat + 2;
+! se = pp + wcslen (pp) - 1; /*(*/
+! pe = glob_patscan_wc (pp, se, 0);
+!
+! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0)
+ {
+ *pe = L'\0';
+***************
+*** 292,295 ****
+--- 301,306 ----
+ return r;
+ }
++
++ /* check every subpattern */
+ while (t = glob_patscan_wc (pp, pe, '|'))
+ {
+***************
+*** 306,313 ****
+ return r;
+
+! *pe = L'\0';
+! r = wchkname (pp, dname); /*(*/
+! *pe = L')';
+! return r;
+ #else
+ return (wchkname (pat, dname));
+--- 317,322 ----
+ return r;
+
+! /* but if it doesn't then we didn't match a leading dot */
+! return 0;
+ #else
+ return (wchkname (pat, dname));
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-009 b/patches/source/bash/bash-4.3-patches/bash43-009
new file mode 100644
index 00000000..015835cd
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-009
@@ -0,0 +1,64 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-009
+
+Bug-Reported-by: Matthias Klose <doko@debian.org>
+Bug-Reference-ID: <53346FC8.6090005@debian.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00171.html
+
+Bug-Description:
+
+There is a problem with unsigned sign extension when attempting to reallocate
+the input line when it is fewer than 3 characters long and there has been a
+history expansion. The sign extension causes the shell to not reallocate the
+line, which results in a segmentation fault when it writes past the end.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2014-02-11 09:42:10.000000000 -0500
+--- parse.y 2014-03-27 16:33:29.000000000 -0400
+***************
+*** 2425,2429 ****
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3)
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+--- 2425,2429 ----
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size))
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+*** ../bash-4.3-patched/y.tab.c 2014-03-28 11:17:06.000000000 -0400
+--- y.tab.c 2014-04-07 11:48:31.000000000 -0400
+***************
+*** 4737,4741 ****
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3)
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+--- 4737,4741 ----
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size))
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-010 b/patches/source/bash/bash-4.3-patches/bash43-010
new file mode 100644
index 00000000..835a96ea
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-010
@@ -0,0 +1,157 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-010
+
+Bug-Reported-by: Albert Shih <Albert.Shih@obspm.fr>
+Bug-Reference-ID: Wed, 5 Mar 2014 23:01:40 +0100
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00028.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+This patch changes the behavior of programmable completion to compensate
+for two assumptions made by the bash-completion package. Bash-4.3 changed
+to dequote the argument to programmable completion only under certain
+circumstances, to make the behavior of compgen more consistent when run
+from the command line -- closer to the behavior when run by a shell function
+run as part of programmable completion. Bash-completion can pass quoted
+arguments to compgen when the original word to be completed was not quoted,
+expecting programmable completion to dequote the word before attempting
+completion.
+
+This patch fixes two cases:
+
+1. An empty string that bash-completion passes to compgen as a quoted null
+ string ('').
+
+2. An unquoted word that bash-completion quotes using single quotes or
+ backslashes before passing it to compgen.
+
+In these cases, since readline did not detect a quote character in the original
+word to be completed, bash-4.3
+
+*** ../bash-4.3/externs.h 2014-01-02 14:58:20.000000000 -0500
+--- externs.h 2014-03-13 14:42:57.000000000 -0400
+***************
+*** 325,328 ****
+--- 325,329 ----
+ extern char *sh_backslash_quote_for_double_quotes __P((char *));
+ extern int sh_contains_shell_metas __P((char *));
++ extern int sh_contains_quotes __P((char *));
+
+ /* declarations for functions defined in lib/sh/spell.c */
+*** ../bash-4.3/lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400
+--- lib/sh/shquote.c 2014-03-13 14:42:57.000000000 -0400
+***************
+*** 312,313 ****
+--- 312,327 ----
+ return (0);
+ }
++
++ int
++ sh_contains_quotes (string)
++ char *string;
++ {
++ char *s;
++
++ for (s = string; s && *s; s++)
++ {
++ if (*s == '\'' || *s == '"' || *s == '\\')
++ return 1;
++ }
++ return 0;
++ }
+*** ../bash-4.3/pcomplete.c 2013-08-26 15:23:45.000000000 -0400
+--- pcomplete.c 2014-03-25 17:23:23.000000000 -0400
+***************
+*** 184,187 ****
+--- 184,188 ----
+ COMPSPEC *pcomp_curcs;
+ const char *pcomp_curcmd;
++ const char *pcomp_curtxt;
+
+ #ifdef DEBUG
+***************
+*** 754,757 ****
+--- 755,784 ----
+ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+ }
++ /* Intended to solve a mismatched assumption by bash-completion. If
++ the text to be completed is empty, but bash-completion turns it into
++ a quoted string ('') assuming that this code will dequote it before
++ calling readline, do the dequoting. */
++ else if (iscompgen && iscompleting &&
++ pcomp_curtxt && *pcomp_curtxt == 0 &&
++ text && (*text == '\'' || *text == '"') && text[1] == text[0] && text[2] == 0 &&
++ rl_filename_dequoting_function)
++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
++ /* Another mismatched assumption by bash-completion. If compgen is being
++ run as part of bash-completion, and the argument to compgen is not
++ the same as the word originally passed to the programmable completion
++ code, dequote the argument if it has quote characters. It's an
++ attempt to detect when bash-completion is quoting its filename
++ argument before calling compgen. */
++ /* We could check whether gen_shell_function_matches is in the call
++ stack by checking whether the gen-shell-function-matches tag is in
++ the unwind-protect stack, but there's no function to do that yet.
++ We could simply check whether we're executing in a function by
++ checking variable_context, and may end up doing that. */
++ else if (iscompgen && iscompleting && rl_filename_dequoting_function &&
++ pcomp_curtxt && text &&
++ STREQ (pcomp_curtxt, text) == 0 &&
++ variable_context &&
++ sh_contains_quotes (text)) /* guess */
++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+ else
+ dfn = savestring (text);
+***************
+*** 1523,1527 ****
+ {
+ COMPSPEC *cs, *oldcs;
+! const char *oldcmd;
+ STRINGLIST *ret;
+
+--- 1550,1554 ----
+ {
+ COMPSPEC *cs, *oldcs;
+! const char *oldcmd, *oldtxt;
+ STRINGLIST *ret;
+
+***************
+*** 1546,1552 ****
+--- 1573,1581 ----
+ oldcs = pcomp_curcs;
+ oldcmd = pcomp_curcmd;
++ oldtxt = pcomp_curtxt;
+
+ pcomp_curcs = cs;
+ pcomp_curcmd = cmd;
++ pcomp_curtxt = word;
+
+ ret = gen_compspec_completions (cs, cmd, word, start, end, foundp);
+***************
+*** 1554,1557 ****
+--- 1583,1587 ----
+ pcomp_curcs = oldcs;
+ pcomp_curcmd = oldcmd;
++ pcomp_curtxt = oldtxt;
+
+ /* We need to conditionally handle setting *retryp here */
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-011 b/patches/source/bash/bash-4.3-patches/bash43-011
new file mode 100644
index 00000000..cdc1572e
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-011
@@ -0,0 +1,49 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-011
+
+Bug-Reported-by: Egmont Koblinger <egmont@gmail.com>
+Bug-Reference-ID: <CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html
+
+Bug-Description:
+
+The signal handling changes to bash and readline (to avoid running any code
+in a signal handler context) cause the cursor to be placed on the wrong
+line of a multi-line command after a ^C interrupts editing.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/display.c 2013-12-27 13:10:56.000000000 -0500
+--- lib/readline/display.c 2014-03-27 11:52:45.000000000 -0400
+***************
+*** 2678,2682 ****
+ if (_rl_echoing_p)
+ {
+! _rl_move_vert (_rl_vis_botlin);
+ _rl_vis_botlin = 0;
+ fflush (rl_outstream);
+--- 2678,2683 ----
+ if (_rl_echoing_p)
+ {
+! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */
+! _rl_move_vert (_rl_vis_botlin);
+ _rl_vis_botlin = 0;
+ fflush (rl_outstream);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-012 b/patches/source/bash/bash-4.3-patches/bash43-012
new file mode 100644
index 00000000..176fa15b
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-012
@@ -0,0 +1,43 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-012
+
+Bug-Reported-by: Eduardo A. Bustamante López<dualbus@gmail.com>
+Bug-Reference-ID: <5346B54C.4070205@case.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00051.html
+
+Bug-Description:
+
+When a SIGCHLD trap runs a command containing a shell builtin while
+a script is running `wait' to wait for all running children to complete,
+the SIGCHLD trap will not be run once for each child that terminates.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/jobs.c 2014-03-28 10:54:19.000000000 -0400
+--- jobs.c 2014-04-15 08:47:03.000000000 -0400
+***************
+*** 3598,3601 ****
+--- 3598,3602 ----
+ unwind_protect_pointer (the_pipeline);
+ unwind_protect_pointer (subst_assign_varlist);
++ unwind_protect_pointer (this_shell_builtin);
+
+ /* We have to add the commands this way because they will be run
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-013 b/patches/source/bash/bash-4.3-patches/bash43-013
new file mode 100644
index 00000000..8f4006b4
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-013
@@ -0,0 +1,66 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-013
+
+Bug-Reported-by: <Trond.Endrestol@ximalas.info>
+Bug-Reference-ID: <alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html
+
+Bug-Description:
+
+Using reverse-i-search when horizontal scrolling is enabled does not redisplay
+the entire line containing the successful search results.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/lib/readline/display.c 2014-04-08 18:19:36.000000000 -0400
+--- lib/readline/display.c 2014-04-20 18:32:52.000000000 -0400
+***************
+*** 1638,1642 ****
+ the spot of first difference is before the end of the invisible chars,
+ lendiff needs to be adjusted. */
+! if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+ current_invis_chars != visible_wrap_offset)
+ {
+--- 1638,1642 ----
+ the spot of first difference is before the end of the invisible chars,
+ lendiff needs to be adjusted. */
+! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
+ current_invis_chars != visible_wrap_offset)
+ {
+***************
+*** 1826,1831 ****
+ _rl_last_c_pos += bytes_to_insert;
+
+ if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+! goto clear_rest_of_line;
+ }
+ }
+--- 1826,1836 ----
+ _rl_last_c_pos += bytes_to_insert;
+
++ /* XXX - we only want to do this if we are at the end of the line
++ so we move there with _rl_move_cursor_relative */
+ if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+! {
+! _rl_move_cursor_relative (ne-new, new);
+! goto clear_rest_of_line;
+! }
+ }
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-014 b/patches/source/bash/bash-4.3-patches/bash43-014
new file mode 100644
index 00000000..f8371967
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-014
@@ -0,0 +1,102 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-014
+
+Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org>
+Bug-Reference-ID: <20140418202123.GB7660@eeg.ccf.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2014-04/msg00004.html
+
+Bug-Description:
+
+Under certain circumstances, $@ is expanded incorrectly in contexts where
+word splitting is not performed.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/subst.c 2014-01-23 16:26:37.000000000 -0500
+--- subst.c 2014-04-19 15:41:26.000000000 -0400
+***************
+*** 3249,3254 ****
+--- 3249,3256 ----
+ return ((char *)NULL);
+
++ expand_no_split_dollar_star = 1;
+ w->flags |= W_NOSPLIT2;
+ l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0);
++ expand_no_split_dollar_star = 0;
+ if (l)
+ {
+***************
+*** 7848,7851 ****
+--- 7850,7857 ----
+ according to POSIX.2, this expands to a list of the positional
+ parameters no matter what IFS is set to. */
++ /* XXX - what to do when in a context where word splitting is not
++ performed? Even when IFS is not the default, posix seems to imply
++ that we behave like unquoted $* ? Maybe we should use PF_NOSPLIT2
++ here. */
+ temp = string_list_dollar_at (list, (pflags & PF_ASSIGNRHS) ? (quoted|Q_DOUBLE_QUOTES) : quoted);
+
+***************
+*** 8817,8820 ****
+--- 8823,8827 ----
+ {
+ char *ifs_chars;
++ char *tstring;
+
+ ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL;
+***************
+*** 8831,8834 ****
+--- 8838,8865 ----
+ if (split_on_spaces)
+ list = list_string (istring, " ", 1); /* XXX quoted == 1? */
++ /* If we have $@ (has_dollar_at != 0) and we are in a context where we
++ don't want to split the result (W_NOSPLIT2), and we are not quoted,
++ we have already separated the arguments with the first character of
++ $IFS. In this case, we want to return a list with a single word
++ with the separator possibly replaced with a space (it's what other
++ shells seem to do).
++ quoted_dollar_at is internal to this function and is set if we are
++ passed an argument that is unquoted (quoted == 0) but we encounter a
++ double-quoted $@ while expanding it. */
++ else if (has_dollar_at && quoted_dollar_at == 0 && ifs_chars && quoted == 0 && (word->flags & W_NOSPLIT2))
++ {
++ /* Only split and rejoin if we have to */
++ if (*ifs_chars && *ifs_chars != ' ')
++ {
++ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1);
++ tstring = string_list (list);
++ }
++ else
++ tstring = istring;
++ tword = make_bare_word (tstring);
++ if (tstring != istring)
++ free (tstring);
++ goto set_word_flags;
++ }
+ else if (has_dollar_at && ifs_chars)
+ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1);
+***************
+*** 8836,8839 ****
+--- 8867,8871 ----
+ {
+ tword = make_bare_word (istring);
++ set_word_flags:
+ if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED))
+ tword->flags |= W_QUOTED;
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-015 b/patches/source/bash/bash-4.3-patches/bash43-015
new file mode 100644
index 00000000..9c4e5ea4
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-015
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-015
+
+Bug-Reported-by: Clark Wang <dearvoid@gmail.com>
+Bug-Reference-ID: <CADv8-og2TOSoabXeNVXVGaXN3tEMHnYVq1rwOLe5meaRPSGRig@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00095.html
+
+Bug-Description:
+
+When completing directory names, the directory name is dequoted twice.
+This causes problems for directories with single and double quotes in
+their names.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/bashline.c 2014-02-09 19:56:58.000000000 -0500
+--- bashline.c 2014-04-25 14:57:52.000000000 -0400
+***************
+*** 4168,4174 ****
+
+ qc = rl_dispatching ? rl_completion_quote_character : 0;
+! dfn = bash_dequote_filename ((char *)text, qc);
+ m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+! free (dfn);
+
+ if (m1 == 0 || m1[0] == 0)
+--- 4209,4222 ----
+
+ qc = rl_dispatching ? rl_completion_quote_character : 0;
+! /* If rl_completion_found_quote != 0, rl_completion_matches will call the
+! filename dequoting function, causing the directory name to be dequoted
+! twice. */
+! if (rl_dispatching && rl_completion_found_quote == 0)
+! dfn = bash_dequote_filename ((char *)text, qc);
+! else
+! dfn = (char *)text;
+ m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+! if (dfn != text)
+! free (dfn);
+
+ if (m1 == 0 || m1[0] == 0)
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-016 b/patches/source/bash/bash-4.3-patches/bash43-016
new file mode 100644
index 00000000..882d5939
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-016
@@ -0,0 +1,132 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-016
+
+Bug-Reported-by: Pierre Gaston <pierre.gaston@gmail.com>
+Bug-Reference-ID: <CAPSX3sTCD61k1VQLJ5r-LWzEt+e7Xc-fxXmwn2u8EA5gJJej8Q@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00100.html
+
+Bug-Description:
+
+An extended glob pattern containing a slash (`/') causes the globbing code
+to misinterpret it as a directory separator.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/lib/glob/glob.c 2014-03-28 10:54:23.000000000 -0400
+--- lib/glob/glob.c 2014-05-02 10:24:28.000000000 -0400
+***************
+*** 124,127 ****
+--- 124,129 ----
+ extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int));
+
++ extern char *glob_dirscan __P((char *, int));
++
+ /* Compile `glob_loop.c' for single-byte characters. */
+ #define CHAR unsigned char
+***************
+*** 188,191 ****
+--- 190,196 ----
+ pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */
+ /* we should check for invalid extglob pattern here */
++ if (pe == 0)
++ return 0;
++
+ /* if pe != se we have more of the pattern at the end of the extglob
+ pattern. Check the easy case first ( */
+***************
+*** 1016,1020 ****
+ char **result;
+ unsigned int result_size;
+! char *directory_name, *filename, *dname;
+ unsigned int directory_len;
+ int free_dirname; /* flag */
+--- 1021,1025 ----
+ char **result;
+ unsigned int result_size;
+! char *directory_name, *filename, *dname, *fn;
+ unsigned int directory_len;
+ int free_dirname; /* flag */
+***************
+*** 1032,1035 ****
+--- 1037,1052 ----
+ /* Find the filename. */
+ filename = strrchr (pathname, '/');
++ #if defined (EXTENDED_GLOB)
++ if (filename && extended_glob)
++ {
++ fn = glob_dirscan (pathname, '/');
++ #if DEBUG_MATCHING
++ if (fn != filename)
++ fprintf (stderr, "glob_filename: glob_dirscan: fn (%s) != filename (%s)\n", fn ? fn : "(null)", filename);
++ #endif
++ filename = fn;
++ }
++ #endif
++
+ if (filename == NULL)
+ {
+*** ../bash-4.3-patched/lib/glob/gmisc.c 2014-03-28 10:54:23.000000000 -0400
+--- lib/glob/gmisc.c 2014-05-02 09:35:57.000000000 -0400
+***************
+*** 43,46 ****
+--- 43,48 ----
+ #define WRPAREN L')'
+
++ extern char *glob_patscan __P((char *, char *, int));
++
+ /* Return 1 of the first character of WSTRING could match the first
+ character of pattern WPAT. Wide character version. */
+***************
+*** 376,377 ****
+--- 378,410 ----
+ return matlen;
+ }
++
++ /* Skip characters in PAT and return the final occurrence of DIRSEP. This
++ is only called when extended_glob is set, so we have to skip over extglob
++ patterns x(...) */
++ char *
++ glob_dirscan (pat, dirsep)
++ char *pat;
++ int dirsep;
++ {
++ char *p, *d, *pe, *se;
++
++ d = pe = se = 0;
++ for (p = pat; p && *p; p++)
++ {
++ if (extglob_pattern_p (p))
++ {
++ if (se == 0)
++ se = p + strlen (p) - 1;
++ pe = glob_patscan (p + 2, se, 0);
++ if (pe == 0)
++ continue;
++ else if (*pe == 0)
++ break;
++ p = pe - 1; /* will do increment above */
++ continue;
++ }
++ if (*p == dirsep)
++ d = p;
++ }
++ return d;
++ }
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-017 b/patches/source/bash/bash-4.3-patches/bash43-017
new file mode 100644
index 00000000..4016fb93
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-017
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-017
+
+Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID: <7781746.RhfoTROLxF@smorgbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00026.html
+
+Bug-Description:
+
+The code that creates local variables should not clear the `invisible'
+attribute when returning an existing local variable. Let the code that
+actually assigns a value clear it.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/variables.c 2014-02-14 11:55:12.000000000 -0500
+--- variables.c 2014-05-07 10:53:57.000000000 -0400
+***************
+*** 2198,2205 ****
+ old_var = find_variable (name);
+ if (old_var && local_p (old_var) && old_var->context == variable_context)
+! {
+! VUNSETATTR (old_var, att_invisible); /* XXX */
+! return (old_var);
+! }
+
+ was_tmpvar = old_var && tempvar_p (old_var);
+--- 2260,2264 ----
+ old_var = find_variable (name);
+ if (old_var && local_p (old_var) && old_var->context == variable_context)
+! return (old_var);
+
+ was_tmpvar = old_var && tempvar_p (old_var);
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-018 b/patches/source/bash/bash-4.3-patches/bash43-018
new file mode 100644
index 00000000..39499f66
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-018
@@ -0,0 +1,44 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-018
+
+Bug-Reported-by: Geir Hauge <geir.hauge@gmail.com>
+Bug-Reference-ID: <CAO-BiTLOvfPXDypg61jcBausADrxUKJejakV2WTWP26cW0=rgA@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00040.html
+
+Bug-Description:
+
+When assigning an array variable using the compound assignment syntax,
+but using `declare' with the rhs of the compound assignment quoted, the
+shell did not mark the variable as visible after successfully performing
+the assignment.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/arrayfunc.c 2014-03-28 10:54:21.000000000 -0400
+--- arrayfunc.c 2014-05-12 11:19:00.000000000 -0400
+***************
+*** 180,183 ****
+--- 180,184 ----
+ FREE (newval);
+
++ VUNSETATTR (entry, att_invisible); /* no longer invisible */
+ return (entry);
+ }
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-019 b/patches/source/bash/bash-4.3-patches/bash43-019
new file mode 100644
index 00000000..a93714be
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-019
@@ -0,0 +1,84 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-019
+
+Bug-Reported-by: John Lenton
+Bug-Reference-ID:
+Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
+
+Bug-Description:
+
+The -t timeout option to `read' does not work when the -e option is used.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/input.c 2014-01-10 15:07:08.000000000 -0500
+--- lib/readline/input.c 2014-05-22 18:40:59.000000000 -0400
+***************
+*** 535,540 ****
+--- 538,551 ----
+ else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
+ return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
++ /* keyboard-generated signals of interest */
+ else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
+ RL_CHECK_SIGNALS ();
++ /* non-keyboard-generated signals of interest */
++ else if (_rl_caught_signal == SIGALRM
++ #if defined (SIGVTALRM)
++ || _rl_caught_signal == SIGVTALRM
++ #endif
++ )
++ RL_CHECK_SIGNALS ();
+
+ if (rl_signal_event_hook)
+*** ../bash-4.3-patched/builtins/read.def 2013-09-02 11:54:00.000000000 -0400
+--- builtins/read.def 2014-05-08 11:43:35.000000000 -0400
+***************
+*** 443,447 ****
+ #if defined (READLINE)
+ if (edit)
+! add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
+ #endif
+ falarm (tmsec, tmusec);
+--- 443,450 ----
+ #if defined (READLINE)
+ if (edit)
+! {
+! add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
+! add_unwind_protect (bashline_reset_event_hook, (char *)NULL);
+! }
+ #endif
+ falarm (tmsec, tmusec);
+***************
+*** 1022,1025 ****
+--- 1025,1029 ----
+ old_attempted_completion_function = rl_attempted_completion_function;
+ rl_attempted_completion_function = (rl_completion_func_t *)NULL;
++ bashline_set_event_hook ();
+ if (itext)
+ {
+***************
+*** 1033,1036 ****
+--- 1037,1041 ----
+ rl_attempted_completion_function = old_attempted_completion_function;
+ old_attempted_completion_function = (rl_completion_func_t *)NULL;
++ bashline_reset_event_hook ();
+
+ if (ret == 0)
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-020 b/patches/source/bash/bash-4.3-patches/bash43-020
new file mode 100644
index 00000000..5f533ef8
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-020
@@ -0,0 +1,110 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-020
+
+Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
+Bug-Reference-ID: <20140417073654.GB26875@nightderanger.psc.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00065.html
+
+Bug-Description:
+
+When PS2 contains a command substitution, here-documents entered in an
+interactive shell can sometimes cause a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500
+--- shell.h 2014-06-03 09:24:28.000000000 -0400
+***************
+*** 169,173 ****
+ int expand_aliases;
+ int echo_input_at_read;
+!
+ } sh_parser_state_t;
+
+--- 169,174 ----
+ int expand_aliases;
+ int echo_input_at_read;
+! int need_here_doc;
+!
+ } sh_parser_state_t;
+
+*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400
+--- parse.y 2014-04-30 09:27:59.000000000 -0400
+***************
+*** 2643,2647 ****
+
+ r = 0;
+! while (need_here_doc)
+ {
+ parser_state |= PST_HEREDOC;
+--- 2643,2647 ----
+
+ r = 0;
+! while (need_here_doc > 0)
+ {
+ parser_state |= PST_HEREDOC;
+***************
+*** 6076,6079 ****
+--- 6076,6080 ----
+ ps->expand_aliases = expand_aliases;
+ ps->echo_input_at_read = echo_input_at_read;
++ ps->need_here_doc = need_here_doc;
+
+ ps->token = token;
+***************
+*** 6124,6127 ****
+--- 6125,6129 ----
+ expand_aliases = ps->expand_aliases;
+ echo_input_at_read = ps->echo_input_at_read;
++ need_here_doc = ps->need_here_doc;
+
+ FREE (token);
+*** ../bash-4.3-patched/y.tab.c 2014-04-07 11:56:12.000000000 -0400
+--- y.tab.c 2014-07-30 09:55:57.000000000 -0400
+***************
+*** 4955,4959 ****
+
+ r = 0;
+! while (need_here_doc)
+ {
+ parser_state |= PST_HEREDOC;
+--- 5151,5155 ----
+
+ r = 0;
+! while (need_here_doc > 0)
+ {
+ parser_state |= PST_HEREDOC;
+***************
+*** 8388,8391 ****
+--- 8584,8588 ----
+ ps->expand_aliases = expand_aliases;
+ ps->echo_input_at_read = echo_input_at_read;
++ ps->need_here_doc = need_here_doc;
+
+ ps->token = token;
+***************
+*** 8436,8439 ****
+--- 8633,8637 ----
+ expand_aliases = ps->expand_aliases;
+ echo_input_at_read = ps->echo_input_at_read;
++ need_here_doc = ps->need_here_doc;
+
+ FREE (token);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-021 b/patches/source/bash/bash-4.3-patches/bash43-021
new file mode 100644
index 00000000..fd1c945e
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-021
@@ -0,0 +1,52 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-021
+
+Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
+Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html
+
+Bug-Description:
+
+When the readline `revert-all-at-newline' option is set, pressing newline
+when the current line is one retrieved from history results in a double free
+and a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400
+--- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400
+***************
+*** 462,465 ****
+--- 462,466 ----
+ /* Set up rl_line_buffer and other variables from history entry */
+ rl_replace_from_history (entry, 0); /* entry->line is now current */
++ entry->data = 0; /* entry->data is now current undo list */
+ /* Undo all changes to this history entry */
+ while (rl_undo_list)
+***************
+*** 469,473 ****
+ FREE (entry->line);
+ entry->line = savestring (rl_line_buffer);
+- entry->data = 0;
+ }
+ entry = previous_history ();
+--- 470,473 ----
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-022 b/patches/source/bash/bash-4.3-patches/bash43-022
new file mode 100644
index 00000000..7ce39ec0
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-022
@@ -0,0 +1,56 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-022
+
+Bug-Reported-by: scorp.dev.null@gmail.com
+Bug-Reference-ID: <E1WxXw8-0007iE-Bi@pcm14>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00061.html
+
+Bug-Description:
+
+Using nested pipelines within loops with the `lastpipe' option set can result
+in a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500
+--- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400
+***************
+*** 2410,2414 ****
+ lstdin = wait_for (lastpid);
+ #if defined (JOB_CONTROL)
+! exec_result = job_exit_status (lastpipe_jid);
+ #endif
+ unfreeze_jobs_list ();
+--- 2425,2438 ----
+ lstdin = wait_for (lastpid);
+ #if defined (JOB_CONTROL)
+! /* If wait_for removes the job from the jobs table, use result of last
+! command as pipeline's exit status as usual. The jobs list can get
+! frozen and unfrozen at inconvenient times if there are multiple pipelines
+! running simultaneously. */
+! if (INVALID_JOB (lastpipe_jid) == 0)
+! exec_result = job_exit_status (lastpipe_jid);
+! else if (pipefail_opt)
+! exec_result = exec_result | lstdin; /* XXX */
+! /* otherwise we use exec_result */
+!
+ #endif
+ unfreeze_jobs_list ();
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-023 b/patches/source/bash/bash-4.3-patches/bash43-023
new file mode 100644
index 00000000..d1e4e9d7
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-023
@@ -0,0 +1,104 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-023
+
+Bug-Reported-by: Tim Friske <me@timfriske.com>
+Bug-Reference-ID: <CAM1RzOcOR9zzC2i+aeES6LtbHNHoOV+0pZEYPrqxv_QAii-RXA@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html
+
+Bug-Description:
+
+Bash does not correctly parse process substitution constructs that contain
+unbalanced parentheses as part of the contained command.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500
+--- subst.h 2014-07-20 17:25:01.000000000 -0400
+***************
+*** 83,87 ****
+ Start extracting at (SINDEX) as if we had just seen "<(".
+ Make (SINDEX) get the position just after the matching ")". */
+! extern char *extract_process_subst __P((char *, char *, int *));
+ #endif /* PROCESS_SUBSTITUTION */
+
+--- 83,87 ----
+ Start extracting at (SINDEX) as if we had just seen "<(".
+ Make (SINDEX) get the position just after the matching ")". */
+! extern char *extract_process_subst __P((char *, char *, int *, int));
+ #endif /* PROCESS_SUBSTITUTION */
+
+*** ../bash-4.3-patched/subst.c 2014-05-15 08:26:45.000000000 -0400
+--- subst.c 2014-07-20 17:26:44.000000000 -0400
+***************
+*** 1193,1202 ****
+ Make (SINDEX) get the position of the matching ")". */ /*))*/
+ char *
+! extract_process_subst (string, starter, sindex)
+ char *string;
+ char *starter;
+ int *sindex;
+ {
+ return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND));
+ }
+ #endif /* PROCESS_SUBSTITUTION */
+--- 1193,1208 ----
+ Make (SINDEX) get the position of the matching ")". */ /*))*/
+ char *
+! extract_process_subst (string, starter, sindex, xflags)
+ char *string;
+ char *starter;
+ int *sindex;
++ int xflags;
+ {
++ #if 0
+ return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND));
++ #else
++ xflags |= (no_longjmp_on_fatal_error ? SX_NOLONGJMP : 0);
++ return (xparse_dolparen (string, string+*sindex, sindex, xflags));
++ #endif
+ }
+ #endif /* PROCESS_SUBSTITUTION */
+***************
+*** 1786,1790 ****
+ if (string[si] == '\0')
+ CQ_RETURN(si);
+! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si);
+ free (temp); /* no SX_ALLOC here */
+ i = si;
+--- 1792,1796 ----
+ if (string[si] == '\0')
+ CQ_RETURN(si);
+! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si, 0);
+ free (temp); /* no SX_ALLOC here */
+ i = si;
+***************
+*** 8250,8254 ****
+ t_index = sindex + 1; /* skip past both '<' and LPAREN */
+
+! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/
+ sindex = t_index;
+
+--- 8256,8260 ----
+ t_index = sindex + 1; /* skip past both '<' and LPAREN */
+
+! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/
+ sindex = t_index;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-024 b/patches/source/bash/bash-4.3-patches/bash43-024
new file mode 100644
index 00000000..a24b8fbb
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-024
@@ -0,0 +1,54 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-024
+
+Bug-Reported-by: Corentin Peuvrel <cpeuvrel@pom-monitoring.com>
+Bug-Reference-ID: <53CE9E5D.6050203@pom-monitoring.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html
+
+Bug-Description:
+
+Indirect variable references do not work correctly if the reference
+variable expands to an array reference using a subscript other than 0
+(e.g., foo='bar[1]' ; echo ${!foo}).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.c 2014-06-03 09:32:44.000000000 -0400
+--- subst.c 2014-07-23 09:58:19.000000000 -0400
+***************
+*** 7375,7379 ****
+
+ if (want_indir)
+! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
+ else
+ tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
+--- 7445,7455 ----
+
+ if (want_indir)
+! {
+! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
+! /* Turn off the W_ARRAYIND flag because there is no way for this function
+! to return the index we're supposed to be using. */
+! if (tdesc && tdesc->flags)
+! tdesc->flags &= ~W_ARRAYIND;
+! }
+ else
+ tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 24
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-025 b/patches/source/bash/bash-4.3-patches/bash43-025
new file mode 100644
index 00000000..721aca03
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-025
@@ -0,0 +1,123 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-025
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+Under certain circumstances, bash will execute user code while processing the
+environment for exported function definitions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/builtins/common.h 2013-07-08 16:54:47.000000000 -0400
+--- builtins/common.h 2014-09-12 14:25:47.000000000 -0400
+***************
+*** 34,37 ****
+--- 49,54 ----
+ #define SEVAL_PARSEONLY 0x020
+ #define SEVAL_NOLONGJMP 0x040
++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */
++ #define SEVAL_ONECMD 0x100 /* only allow a single command */
+
+ /* Flags for describe_command, shared between type.def and command.def */
+*** ../bash-4.3-patched/builtins/evalstring.c 2014-02-11 09:42:10.000000000 -0500
+--- builtins/evalstring.c 2014-09-14 14:15:13.000000000 -0400
+***************
+*** 309,312 ****
+--- 313,324 ----
+ struct fd_bitmap *bitmap;
+
++ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
++ {
++ internal_warning ("%s: ignoring function definition attempt", from_file);
++ should_jump_to_top_level = 0;
++ last_result = last_command_exit_value = EX_BADUSAGE;
++ break;
++ }
++
+ bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
+ begin_unwind_frame ("pe_dispose");
+***************
+*** 369,372 ****
+--- 381,387 ----
+ dispose_fd_bitmap (bitmap);
+ discard_unwind_frame ("pe_dispose");
++
++ if (flags & SEVAL_ONECMD)
++ break;
+ }
+ }
+*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400
+--- variables.c 2014-09-14 14:23:35.000000000 -0400
+***************
+*** 359,369 ****
+ strcpy (temp_string + char_index + 1, string);
+
+! if (posixly_correct == 0 || legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
+!
+! /* Ancient backwards compatibility. Old versions of bash exported
+! functions like name()=() {...} */
+! if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
+! name[char_index - 2] = '\0';
+
+ if (temp_var = find_function (name))
+--- 364,372 ----
+ strcpy (temp_string + char_index + 1, string);
+
+! /* Don't import function names that are invalid identifiers from the
+! environment, though we still allow them to be defined as shell
+! variables. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+ if (temp_var = find_function (name))
+***************
+*** 382,389 ****
+ report_error (_("error importing function definition for `%s'"), name);
+ }
+-
+- /* ( */
+- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
+- name[char_index - 2] = '('; /* ) */
+ }
+ #if defined (ARRAY_VARS)
+--- 385,388 ----
+*** ../bash-4.3-patched/subst.c 2014-08-11 11:16:35.000000000 -0400
+--- subst.c 2014-09-12 15:31:04.000000000 -0400
+***************
+*** 8048,8052 ****
+ goto return0;
+ }
+! else if (var = find_variable_last_nameref (temp1))
+ {
+ temp = nameref_cell (var);
+--- 8118,8124 ----
+ goto return0;
+ }
+! else if (var && (invisible_p (var) || var_isset (var) == 0))
+! temp = (char *)NULL;
+! else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0)
+ {
+ temp = nameref_cell (var);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 24
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 25
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-026 b/patches/source/bash/bash-4.3-patches/bash43-026
new file mode 100644
index 00000000..d5d5b1dd
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-026
@@ -0,0 +1,60 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-026
+
+Bug-Reported-by: Tavis Ormandy <taviso@cmpxchg8b.com>
+Bug-Reference-ID:
+Bug-Reference-URL: http://twitter.com/taviso/statuses/514887394294652929
+
+Bug-Description:
+
+Under certain circumstances, bash can incorrectly save a lookahead character and
+return it on a subsequent call, even when reading a new line.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.25/parse.y 2014-07-30 10:14:31.000000000 -0400
+--- parse.y 2014-09-25 20:20:21.000000000 -0400
+***************
+*** 2954,2957 ****
+--- 2954,2959 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+*** ../bash-4.3.25/y.tab.c 2014-07-30 10:14:32.000000000 -0400
+--- y.tab.c 2014-09-25 20:21:48.000000000 -0400
+***************
+*** 5266,5269 ****
+--- 5266,5271 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+***************
+*** 8540,8542 ****
+ }
+ #endif /* HANDLE_MULTIBYTE */
+-
+--- 8542,8543 ----
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 25
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 26
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-027 b/patches/source/bash/bash-4.3-patches/bash43-027
new file mode 100644
index 00000000..ef48bd82
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-027
@@ -0,0 +1,221 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-027
+
+Bug-Reported-by: Florian Weimer <fweimer@redhat.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+This patch changes the encoding bash uses for exported functions to avoid
+clashes with shell variables and to avoid depending only on an environment
+variable's contents to determine whether or not to interpret it as a shell
+function.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.26/variables.c 2014-09-25 23:02:18.000000000 -0400
+--- variables.c 2014-09-27 20:52:04.000000000 -0400
+***************
+*** 84,87 ****
+--- 84,92 ----
+ #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0')
+
++ #define BASHFUNC_PREFIX "BASH_FUNC_"
++ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */
++ #define BASHFUNC_SUFFIX "%%"
++ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */
++
+ extern char **environ;
+
+***************
+*** 280,284 ****
+ static void dispose_temporary_env __P((sh_free_func_t *));
+
+! static inline char *mk_env_string __P((const char *, const char *));
+ static char **make_env_array_from_var_list __P((SHELL_VAR **));
+ static char **make_var_export_array __P((VAR_CONTEXT *));
+--- 285,289 ----
+ static void dispose_temporary_env __P((sh_free_func_t *));
+
+! static inline char *mk_env_string __P((const char *, const char *, int));
+ static char **make_env_array_from_var_list __P((SHELL_VAR **));
+ static char **make_var_export_array __P((VAR_CONTEXT *));
+***************
+*** 350,369 ****
+ /* If exported function, define it now. Don't import functions from
+ the environment in privileged mode. */
+! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4))
+ {
+ string_length = strlen (string);
+! temp_string = (char *)xmalloc (3 + string_length + char_index);
+
+! strcpy (temp_string, name);
+! temp_string[char_index] = ' ';
+! strcpy (temp_string + char_index + 1, string);
+
+ /* Don't import function names that are invalid identifiers from the
+ environment, though we still allow them to be defined as shell
+ variables. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+! if (temp_var = find_function (name))
+ {
+ VSETATTR (temp_var, (att_exported|att_imported));
+--- 355,385 ----
+ /* If exported function, define it now. Don't import functions from
+ the environment in privileged mode. */
+! if (privmode == 0 && read_but_dont_execute == 0 &&
+! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
+! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
+! STREQN ("() {", string, 4))
+ {
++ size_t namelen;
++ char *tname; /* desired imported function name */
++
++ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN;
++
++ tname = name + BASHFUNC_PREFLEN; /* start of func name */
++ tname[namelen] = '\0'; /* now tname == func name */
++
+ string_length = strlen (string);
+! temp_string = (char *)xmalloc (namelen + string_length + 2);
+
+! memcpy (temp_string, tname, namelen);
+! temp_string[namelen] = ' ';
+! memcpy (temp_string + namelen + 1, string, string_length + 1);
+
+ /* Don't import function names that are invalid identifiers from the
+ environment, though we still allow them to be defined as shell
+ variables. */
+! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname)))
+! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+! if (temp_var = find_function (tname))
+ {
+ VSETATTR (temp_var, (att_exported|att_imported));
+***************
+*** 378,383 ****
+ }
+ last_command_exit_value = 1;
+! report_error (_("error importing function definition for `%s'"), name);
+ }
+ }
+ #if defined (ARRAY_VARS)
+--- 394,402 ----
+ }
+ last_command_exit_value = 1;
+! report_error (_("error importing function definition for `%s'"), tname);
+ }
++
++ /* Restore original suffix */
++ tname[namelen] = BASHFUNC_SUFFIX[0];
+ }
+ #if defined (ARRAY_VARS)
+***************
+*** 2955,2959 ****
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value);
+
+ array_needs_making = 1;
+--- 2974,2978 ----
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value, 0);
+
+ array_needs_making = 1;
+***************
+*** 3853,3871 ****
+
+ static inline char *
+! mk_env_string (name, value)
+ const char *name, *value;
+ {
+! int name_len, value_len;
+! char *p;
+
+ name_len = strlen (name);
+ value_len = STRLEN (value);
+! p = (char *)xmalloc (2 + name_len + value_len);
+! strcpy (p, name);
+! p[name_len] = '=';
+ if (value && *value)
+! strcpy (p + name_len + 1, value);
+ else
+! p[name_len + 1] = '\0';
+ return (p);
+ }
+--- 3872,3911 ----
+
+ static inline char *
+! mk_env_string (name, value, isfunc)
+ const char *name, *value;
++ int isfunc;
+ {
+! size_t name_len, value_len;
+! char *p, *q;
+
+ name_len = strlen (name);
+ value_len = STRLEN (value);
+!
+! /* If we are exporting a shell function, construct the encoded function
+! name. */
+! if (isfunc && value)
+! {
+! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2);
+! q = p;
+! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN);
+! q += BASHFUNC_PREFLEN;
+! memcpy (q, name, name_len);
+! q += name_len;
+! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN);
+! q += BASHFUNC_SUFFLEN;
+! }
+! else
+! {
+! p = (char *)xmalloc (2 + name_len + value_len);
+! memcpy (p, name, name_len);
+! q = p + name_len;
+! }
+!
+! q[0] = '=';
+ if (value && *value)
+! memcpy (q + 1, value, value_len + 1);
+ else
+! q[1] = '\0';
+!
+ return (p);
+ }
+***************
+*** 3953,3957 ****
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value);
+
+ if (USE_EXPORTSTR == 0)
+--- 3993,3997 ----
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value, function_p (var));
+
+ if (USE_EXPORTSTR == 0)
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 26
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 27
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-028 b/patches/source/bash/bash-4.3-patches/bash43-028
new file mode 100644
index 00000000..7448cf81
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-028
@@ -0,0 +1,2265 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-028
+
+Bug-Reported-by: Florian Weimer <fweimer@redhat.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+There are two local buffer overflows in parse.y that can cause the shell
+to dump core when given many here-documents attached to a single command
+or many nested loops.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2014-09-25 23:02:35.000000000 -0400
+--- parse.y 2014-09-29 16:47:03.000000000 -0400
+***************
+*** 169,172 ****
+--- 169,175 ----
+ static int reserved_word_acceptable __P((int));
+ static int yylex __P((void));
++
++ static void push_heredoc __P((REDIRECT *));
++ static char *mk_alexpansion __P((char *));
+ static int alias_expand_token __P((char *));
+ static int time_command_acceptable __P((void));
+***************
+*** 266,270 ****
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! static REDIRECT *redir_stack[10];
+ int need_here_doc;
+
+--- 269,275 ----
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! #define HEREDOC_MAX 16
+!
+! static REDIRECT *redir_stack[HEREDOC_MAX];
+ int need_here_doc;
+
+***************
+*** 308,312 ****
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST];
+ static int word_top = -1;
+
+--- 313,317 ----
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST+1];
+ static int word_top = -1;
+
+***************
+*** 521,525 ****
+ redir.filename = $2;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS WORD
+--- 526,530 ----
+ redir.filename = $2;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS WORD
+***************
+*** 528,532 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | REDIR_WORD LESS_LESS WORD
+--- 533,537 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | REDIR_WORD LESS_LESS WORD
+***************
+*** 535,539 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_MINUS WORD
+--- 540,544 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_MINUS WORD
+***************
+*** 542,546 ****
+ redir.filename = $2;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+--- 547,551 ----
+ redir.filename = $2;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+***************
+*** 549,553 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | REDIR_WORD LESS_LESS_MINUS WORD
+--- 554,558 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | REDIR_WORD LESS_LESS_MINUS WORD
+***************
+*** 556,560 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_LESS WORD
+--- 561,565 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_LESS WORD
+***************
+*** 2637,2640 ****
+--- 2642,2660 ----
+ static int esacs_needed_count;
+
++ static void
++ push_heredoc (r)
++ REDIRECT *r;
++ {
++ if (need_here_doc >= HEREDOC_MAX)
++ {
++ last_command_exit_value = EX_BADUSAGE;
++ need_here_doc = 0;
++ report_syntax_error (_("maximum here-document count exceeded"));
++ reset_parser ();
++ exit_shell (last_command_exit_value);
++ }
++ redir_stack[need_here_doc++] = r;
++ }
++
+ void
+ gather_here_documents ()
+*** ../bash-4.3.27/y.tab.c 2014-10-01 11:38:24.000000000 -0400
+--- y.tab.c 2014-10-01 12:46:11.000000000 -0400
+***************
+*** 169,173 ****
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/homes/chet/src/bash/src/parse.y"
+
+ #include "config.h"
+--- 169,173 ----
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+ #include "config.h"
+***************
+*** 320,323 ****
+--- 320,326 ----
+ static int reserved_word_acceptable __P((int));
+ static int yylex __P((void));
++
++ static void push_heredoc __P((REDIRECT *));
++ static char *mk_alexpansion __P((char *));
+ static int alias_expand_token __P((char *));
+ static int time_command_acceptable __P((void));
+***************
+*** 417,421 ****
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! static REDIRECT *redir_stack[10];
+ int need_here_doc;
+
+--- 420,426 ----
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! #define HEREDOC_MAX 16
+!
+! static REDIRECT *redir_stack[HEREDOC_MAX];
+ int need_here_doc;
+
+***************
+*** 459,463 ****
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST];
+ static int word_top = -1;
+
+--- 464,468 ----
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST+1];
+ static int word_top = -1;
+
+***************
+*** 493,497 ****
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 324 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+--- 498,502 ----
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+***************
+*** 504,508 ****
+ }
+ /* Line 193 of yacc.c. */
+! #line 507 "y.tab.c"
+ YYSTYPE;
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
+--- 509,513 ----
+ }
+ /* Line 193 of yacc.c. */
+! #line 512 "y.tab.c"
+ YYSTYPE;
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
+***************
+*** 517,521 ****
+
+ /* Line 216 of yacc.c. */
+! #line 520 "y.tab.c"
+
+ #ifdef short
+--- 522,526 ----
+
+ /* Line 216 of yacc.c. */
+! #line 525 "y.tab.c"
+
+ #ifdef short
+***************
+*** 887,907 ****
+ static const yytype_uint16 yyrline[] =
+ {
+! 0, 377, 377, 388, 397, 412, 422, 424, 428, 434,
+! 440, 446, 452, 458, 464, 470, 476, 482, 488, 494,
+! 500, 506, 512, 518, 525, 532, 539, 546, 553, 560,
+! 566, 572, 578, 584, 590, 596, 602, 608, 614, 620,
+! 626, 632, 638, 644, 650, 656, 662, 668, 674, 680,
+! 686, 692, 700, 702, 704, 708, 712, 723, 725, 729,
+! 731, 733, 749, 751, 755, 757, 759, 761, 763, 765,
+! 767, 769, 771, 773, 775, 779, 784, 789, 794, 799,
+! 804, 809, 814, 821, 826, 831, 836, 843, 848, 853,
+! 858, 863, 868, 875, 880, 885, 892, 895, 898, 902,
+! 904, 935, 942, 947, 964, 969, 986, 993, 995, 997,
+! 1002, 1006, 1010, 1014, 1016, 1018, 1022, 1023, 1027, 1029,
+! 1031, 1033, 1037, 1039, 1041, 1043, 1045, 1047, 1051, 1053,
+! 1062, 1070, 1071, 1077, 1078, 1085, 1089, 1091, 1093, 1100,
+! 1102, 1104, 1108, 1109, 1112, 1114, 1116, 1120, 1121, 1130,
+! 1143, 1159, 1174, 1176, 1178, 1185, 1188, 1192, 1194, 1200,
+! 1206, 1223, 1243, 1245, 1268, 1272, 1274, 1276
+ };
+ #endif
+--- 892,912 ----
+ static const yytype_uint16 yyrline[] =
+ {
+! 0, 382, 382, 393, 402, 417, 427, 429, 433, 439,
+! 445, 451, 457, 463, 469, 475, 481, 487, 493, 499,
+! 505, 511, 517, 523, 530, 537, 544, 551, 558, 565,
+! 571, 577, 583, 589, 595, 601, 607, 613, 619, 625,
+! 631, 637, 643, 649, 655, 661, 667, 673, 679, 685,
+! 691, 697, 705, 707, 709, 713, 717, 728, 730, 734,
+! 736, 738, 754, 756, 760, 762, 764, 766, 768, 770,
+! 772, 774, 776, 778, 780, 784, 789, 794, 799, 804,
+! 809, 814, 819, 826, 831, 836, 841, 848, 853, 858,
+! 863, 868, 873, 880, 885, 890, 897, 900, 903, 907,
+! 909, 940, 947, 952, 969, 974, 991, 998, 1000, 1002,
+! 1007, 1011, 1015, 1019, 1021, 1023, 1027, 1028, 1032, 1034,
+! 1036, 1038, 1042, 1044, 1046, 1048, 1050, 1052, 1056, 1058,
+! 1067, 1075, 1076, 1082, 1083, 1090, 1094, 1096, 1098, 1105,
+! 1107, 1109, 1113, 1114, 1117, 1119, 1121, 1125, 1126, 1135,
+! 1148, 1164, 1179, 1181, 1183, 1190, 1193, 1197, 1199, 1205,
+! 1211, 1228, 1248, 1250, 1273, 1277, 1279, 1281
+ };
+ #endif
+***************
+*** 2094,2098 ****
+ {
+ case 2:
+! #line 378 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Case of regular command. Discard the error
+--- 2099,2103 ----
+ {
+ case 2:
+! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command. Discard the error
+***************
+*** 2108,2112 ****
+
+ case 3:
+! #line 389 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Case of regular command, but not a very
+--- 2113,2117 ----
+
+ case 3:
+! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command, but not a very
+***************
+*** 2120,2124 ****
+
+ case 4:
+! #line 398 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+--- 2125,2129 ----
+
+ case 4:
+! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+***************
+*** 2138,2142 ****
+
+ case 5:
+! #line 413 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+--- 2143,2147 ----
+
+ case 5:
+! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+***************
+*** 2149,2163 ****
+
+ case 6:
+! #line 423 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 425 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 429 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2154,2168 ----
+
+ case 6:
+! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2168,2172 ****
+
+ case 9:
+! #line 435 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2173,2177 ----
+
+ case 9:
+! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2177,2181 ****
+
+ case 10:
+! #line 441 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2182,2186 ----
+
+ case 10:
+! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2186,2190 ****
+
+ case 11:
+! #line 447 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2191,2195 ----
+
+ case 11:
+! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2195,2199 ****
+
+ case 12:
+! #line 453 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2200,2204 ----
+
+ case 12:
+! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2204,2208 ****
+
+ case 13:
+! #line 459 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2209,2213 ----
+
+ case 13:
+! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2213,2217 ****
+
+ case 14:
+! #line 465 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2218,2222 ----
+
+ case 14:
+! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2222,2226 ****
+
+ case 15:
+! #line 471 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2227,2231 ----
+
+ case 15:
+! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2231,2235 ****
+
+ case 16:
+! #line 477 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2236,2240 ----
+
+ case 16:
+! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2240,2244 ****
+
+ case 17:
+! #line 483 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2245,2249 ----
+
+ case 17:
+! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2249,2253 ****
+
+ case 18:
+! #line 489 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2254,2258 ----
+
+ case 18:
+! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2258,2262 ****
+
+ case 19:
+! #line 495 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2263,2267 ----
+
+ case 19:
+! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2267,2271 ****
+
+ case 20:
+! #line 501 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2272,2276 ----
+
+ case 20:
+! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2276,2280 ****
+
+ case 21:
+! #line 507 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2281,2285 ----
+
+ case 21:
+! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2285,2289 ****
+
+ case 22:
+! #line 513 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2290,2294 ----
+
+ case 22:
+! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2294,2358 ****
+
+ case 23:
+! #line 519 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 24:
+! #line 526 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 25:
+! #line 533 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 26:
+! #line 540 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 27:
+! #line 547 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 28:
+! #line 554 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 29:
+! #line 561 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2299,2363 ----
+
+ case 23:
+! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 24:
+! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 25:
+! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 26:
+! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 27:
+! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 28:
+! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 29:
+! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2363,2367 ****
+
+ case 30:
+! #line 567 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2368,2372 ----
+
+ case 30:
+! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2372,2376 ****
+
+ case 31:
+! #line 573 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2377,2381 ----
+
+ case 31:
+! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2381,2385 ****
+
+ case 32:
+! #line 579 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2386,2390 ----
+
+ case 32:
+! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2390,2394 ****
+
+ case 33:
+! #line 585 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2395,2399 ----
+
+ case 33:
+! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2399,2403 ****
+
+ case 34:
+! #line 591 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2404,2408 ----
+
+ case 34:
+! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2408,2412 ****
+
+ case 35:
+! #line 597 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2413,2417 ----
+
+ case 35:
+! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2417,2421 ****
+
+ case 36:
+! #line 603 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2422,2426 ----
+
+ case 36:
+! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2426,2430 ****
+
+ case 37:
+! #line 609 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2431,2435 ----
+
+ case 37:
+! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2435,2439 ****
+
+ case 38:
+! #line 615 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2440,2444 ----
+
+ case 38:
+! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2444,2448 ****
+
+ case 39:
+! #line 621 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2449,2453 ----
+
+ case 39:
+! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2453,2457 ****
+
+ case 40:
+! #line 627 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2458,2462 ----
+
+ case 40:
+! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2462,2466 ****
+
+ case 41:
+! #line 633 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2467,2471 ----
+
+ case 41:
+! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2471,2475 ****
+
+ case 42:
+! #line 639 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2476,2480 ----
+
+ case 42:
+! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2480,2484 ****
+
+ case 43:
+! #line 645 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2485,2489 ----
+
+ case 43:
+! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2489,2493 ****
+
+ case 44:
+! #line 651 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2494,2498 ----
+
+ case 44:
+! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2498,2502 ****
+
+ case 45:
+! #line 657 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2503,2507 ----
+
+ case 45:
+! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2507,2511 ****
+
+ case 46:
+! #line 663 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2512,2516 ----
+
+ case 46:
+! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2516,2520 ****
+
+ case 47:
+! #line 669 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2521,2525 ----
+
+ case 47:
+! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2525,2529 ****
+
+ case 48:
+! #line 675 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2530,2534 ----
+
+ case 48:
+! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2534,2538 ****
+
+ case 49:
+! #line 681 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2539,2543 ----
+
+ case 49:
+! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2543,2547 ****
+
+ case 50:
+! #line 687 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2548,2552 ----
+
+ case 50:
+! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2552,2556 ****
+
+ case 51:
+! #line 693 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2557,2561 ----
+
+ case 51:
+! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2561,2580 ****
+
+ case 52:
+! #line 701 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 703 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 705 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 709 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+--- 2566,2585 ----
+
+ case 52:
+! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+***************
+*** 2583,2587 ****
+
+ case 56:
+! #line 713 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ register REDIRECT *t;
+--- 2588,2592 ----
+
+ case 56:
+! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ register REDIRECT *t;
+***************
+*** 2595,2619 ****
+
+ case 57:
+! #line 724 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 726 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 730 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 732 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 734 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2600,2624 ----
+
+ case 57:
+! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2634,2703 ****
+
+ case 62:
+! #line 750 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 752 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 756 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 758 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 760 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 762 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 764 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 766 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 768 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 770 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 772 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 774 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 776 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 780 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2639,2708 ----
+
+ case 62:
+! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2707,2711 ****
+
+ case 76:
+! #line 785 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2712,2716 ----
+
+ case 76:
+! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2715,2719 ****
+
+ case 77:
+! #line 790 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2720,2724 ----
+
+ case 77:
+! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2723,2727 ****
+
+ case 78:
+! #line 795 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2728,2732 ----
+
+ case 78:
+! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2731,2735 ****
+
+ case 79:
+! #line 800 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2736,2740 ----
+
+ case 79:
+! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2739,2743 ****
+
+ case 80:
+! #line 805 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2744,2748 ----
+
+ case 80:
+! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2747,2751 ****
+
+ case 81:
+! #line 810 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2752,2756 ----
+
+ case 81:
+! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2755,2759 ****
+
+ case 82:
+! #line 815 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2760,2764 ----
+
+ case 82:
+! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2763,2767 ****
+
+ case 83:
+! #line 822 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2768,2772 ----
+
+ case 83:
+! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2771,2775 ****
+
+ case 84:
+! #line 827 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2776,2780 ----
+
+ case 84:
+! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2779,2783 ****
+
+ case 85:
+! #line 832 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2784,2788 ----
+
+ case 85:
+! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2787,2791 ****
+
+ case 86:
+! #line 837 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2792,2796 ----
+
+ case 86:
+! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2795,2799 ****
+
+ case 87:
+! #line 844 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2800,2804 ----
+
+ case 87:
+! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2803,2807 ****
+
+ case 88:
+! #line 849 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2808,2812 ----
+
+ case 88:
+! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2811,2815 ****
+
+ case 89:
+! #line 854 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2816,2820 ----
+
+ case 89:
+! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2819,2823 ****
+
+ case 90:
+! #line 859 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2824,2828 ----
+
+ case 90:
+! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2827,2831 ****
+
+ case 91:
+! #line 864 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2832,2836 ----
+
+ case 91:
+! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2835,2839 ****
+
+ case 92:
+! #line 869 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2840,2844 ----
+
+ case 92:
+! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2843,2847 ****
+
+ case 93:
+! #line 876 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+--- 2848,2852 ----
+
+ case 93:
+! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+***************
+*** 2851,2855 ****
+
+ case 94:
+! #line 881 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+--- 2856,2860 ----
+
+ case 94:
+! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+***************
+*** 2859,2863 ****
+
+ case 95:
+! #line 886 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+--- 2864,2868 ----
+
+ case 95:
+! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+***************
+*** 2867,2891 ****
+
+ case 96:
+! #line 893 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 896 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 899 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 903 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 905 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2872,2896 ----
+
+ case 96:
+! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2919,2923 ****
+
+ case 101:
+! #line 936 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+--- 2924,2928 ----
+
+ case 101:
+! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+***************
+*** 2927,2931 ****
+
+ case 102:
+! #line 943 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+--- 2932,2936 ----
+
+ case 102:
+! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+***************
+*** 2935,2939 ****
+
+ case 103:
+! #line 948 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2940,2944 ----
+
+ case 103:
+! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2955,2959 ****
+
+ case 104:
+! #line 965 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+--- 2960,2964 ----
+
+ case 104:
+! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+***************
+*** 2963,2967 ****
+
+ case 105:
+! #line 970 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2968,2972 ----
+
+ case 105:
+! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2983,2987 ****
+
+ case 106:
+! #line 987 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+--- 2988,2992 ----
+
+ case 106:
+! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+***************
+*** 2991,3105 ****
+
+ case 107:
+! #line 994 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 996 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 998 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1003 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1007 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1011 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1015 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1017 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1019 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1024 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1028 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1030 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1032 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1034 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1038 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1040 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1042 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1044 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1046 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1048 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1052 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1054 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1063 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 2996,3110 ----
+
+ case 107:
+! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3110,3114 ****
+
+ case 132:
+! #line 1072 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 3115,3119 ----
+
+ case 132:
+! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3117,3121 ****
+
+ case 134:
+! #line 1079 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3122,3126 ----
+
+ case 134:
+! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3127,3141 ****
+
+ case 136:
+! #line 1090 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1092 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1094 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+--- 3132,3146 ----
+
+ case 136:
+! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+***************
+*** 3147,3181 ****
+
+ case 139:
+! #line 1101 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1103 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1105 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1113 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1115 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1117 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1131 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+--- 3152,3186 ----
+
+ case 139:
+! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+***************
+*** 3193,3197 ****
+
+ case 150:
+! #line 1144 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+--- 3198,3202 ----
+
+ case 150:
+! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+***************
+*** 3212,3216 ****
+
+ case 151:
+! #line 1160 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+--- 3217,3221 ----
+
+ case 151:
+! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+***************
+*** 3228,3242 ****
+
+ case 152:
+! #line 1175 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1177 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1179 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3233,3247 ----
+
+ case 152:
+! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3248,3267 ****
+
+ case 155:
+! #line 1186 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1189 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1193 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1195 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3253,3272 ----
+
+ case 155:
+! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3272,3276 ****
+
+ case 159:
+! #line 1201 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3277,3281 ----
+
+ case 159:
+! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3281,3285 ****
+
+ case 160:
+! #line 1207 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ ELEMENT x;
+--- 3286,3290 ----
+
+ case 160:
+! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3301,3305 ****
+
+ case 161:
+! #line 1224 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ ELEMENT x;
+--- 3306,3310 ----
+
+ case 161:
+! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3322,3331 ****
+
+ case 162:
+! #line 1244 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1246 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+--- 3327,3336 ----
+
+ case 162:
+! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+***************
+*** 3353,3372 ****
+
+ case 164:
+! #line 1269 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1273 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1275 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1277 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+--- 3358,3377 ----
+
+ case 164:
+! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+***************
+*** 3374,3378 ****
+
+ /* Line 1267 of yacc.c. */
+! #line 3377 "y.tab.c"
+ default: break;
+ }
+--- 3379,3383 ----
+
+ /* Line 1267 of yacc.c. */
+! #line 3382 "y.tab.c"
+ default: break;
+ }
+***************
+*** 3588,3592 ****
+
+
+! #line 1279 "/usr/homes/chet/src/bash/src/parse.y"
+
+
+--- 3593,3597 ----
+
+
+! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+
+***************
+*** 4949,4952 ****
+--- 4954,4972 ----
+ static int esacs_needed_count;
+
++ static void
++ push_heredoc (r)
++ REDIRECT *r;
++ {
++ if (need_here_doc >= HEREDOC_MAX)
++ {
++ last_command_exit_value = EX_BADUSAGE;
++ need_here_doc = 0;
++ report_syntax_error (_("maximum here-document count exceeded"));
++ reset_parser ();
++ exit_shell (last_command_exit_value);
++ }
++ redir_stack[need_here_doc++] = r;
++ }
++
+ void
+ gather_here_documents ()
+***************
+*** 8542,8543 ****
+--- 8562,8564 ----
+ }
+ #endif /* HANDLE_MULTIBYTE */
++
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 27
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 28
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-029 b/patches/source/bash/bash-4.3-patches/bash43-029
new file mode 100644
index 00000000..93bd390a
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-029
@@ -0,0 +1,59 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-029
+
+Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+When bash is parsing a function definition that contains a here-document
+delimited by end-of-file (or end-of-string), it leaves the closing delimiter
+uninitialized. This can result in an invalid memory access when the parsed
+function is later copied.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.28/make_cmd.c 2011-12-16 08:08:01.000000000 -0500
+--- make_cmd.c 2014-10-02 11:24:23.000000000 -0400
+***************
+*** 693,696 ****
+--- 693,697 ----
+ temp->redirector = source;
+ temp->redirectee = dest_and_filename;
++ temp->here_doc_eof = 0;
+ temp->instruction = instruction;
+ temp->flags = 0;
+*** ../bash-4.3.28/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400
+--- copy_cmd.c 2014-10-02 11:24:23.000000000 -0400
+***************
+*** 127,131 ****
+ case r_reading_until:
+ case r_deblank_reading_until:
+! new_redirect->here_doc_eof = savestring (redirect->here_doc_eof);
+ /*FALLTHROUGH*/
+ case r_reading_string:
+--- 127,131 ----
+ case r_reading_until:
+ case r_deblank_reading_until:
+! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0;
+ /*FALLTHROUGH*/
+ case r_reading_string:
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 28
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 29
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-030 b/patches/source/bash/bash-4.3-patches/bash43-030
new file mode 100644
index 00000000..78984da2
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-030
@@ -0,0 +1,2064 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-030
+
+Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+A combination of nested command substitutions and function importing from
+the environment can cause bash to execute code appearing in the environment
+variable value following the function definition.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.29/builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400
+--- builtins/evalstring.c 2014-10-03 11:57:04.000000000 -0400
+***************
+*** 309,318 ****
+ struct fd_bitmap *bitmap;
+
+! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
+ {
+! internal_warning ("%s: ignoring function definition attempt", from_file);
+! should_jump_to_top_level = 0;
+! last_result = last_command_exit_value = EX_BADUSAGE;
+! break;
+ }
+
+--- 313,335 ----
+ struct fd_bitmap *bitmap;
+
+! if (flags & SEVAL_FUNCDEF)
+ {
+! char *x;
+!
+! /* If the command parses to something other than a straight
+! function definition, or if we have not consumed the entire
+! string, or if the parser has transformed the function
+! name (as parsing will if it begins or ends with shell
+! whitespace, for example), reject the attempt */
+! if (command->type != cm_function_def ||
+! ((x = parser_remaining_input ()) && *x) ||
+! (STREQ (from_file, command->value.Function_def->name->word) == 0))
+! {
+! internal_warning (_("%s: ignoring function definition attempt"), from_file);
+! should_jump_to_top_level = 0;
+! last_result = last_command_exit_value = EX_BADUSAGE;
+! reset_parser ();
+! break;
+! }
+ }
+
+***************
+*** 379,383 ****
+
+ if (flags & SEVAL_ONECMD)
+! break;
+ }
+ }
+--- 396,403 ----
+
+ if (flags & SEVAL_ONECMD)
+! {
+! reset_parser ();
+! break;
+! }
+ }
+ }
+*** ../bash-4.3.29/parse.y 2014-10-01 12:58:43.000000000 -0400
+--- parse.y 2014-10-03 14:48:59.000000000 -0400
+***************
+*** 2539,2542 ****
+--- 2539,2552 ----
+ }
+
++ char *
++ parser_remaining_input ()
++ {
++ if (shell_input_line == 0)
++ return 0;
++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len)
++ return '\0'; /* XXX */
++ return (shell_input_line + shell_input_line_index);
++ }
++
+ #ifdef INCLUDE_UNUSED
+ /* Back the input pointer up by one, effectively `ungetting' a character. */
+***************
+*** 4028,4033 ****
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+! if (interactive)
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+--- 4053,4058 ----
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+!
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+*** ../bash-4.3.29/shell.h 2014-10-01 12:57:39.000000000 -0400
+--- shell.h 2014-10-03 14:49:12.000000000 -0400
+***************
+*** 181,184 ****
+--- 181,186 ----
+
+ /* Let's try declaring these here. */
++ extern char *parser_remaining_input __P((void));
++
+ extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
+ extern void restore_parser_state __P((sh_parser_state_t *));
+*** ../bash-4.3.28/y.tab.c 2014-10-01 13:09:46.000000000 -0400
+--- y.tab.c 2014-10-04 19:26:22.000000000 -0400
+***************
+*** 169,173 ****
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+ #include "config.h"
+--- 169,173 ----
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+
+ #include "config.h"
+***************
+*** 498,502 ****
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+--- 498,502 ----
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 329 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+***************
+*** 2099,2103 ****
+ {
+ case 2:
+! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command. Discard the error
+--- 2099,2103 ----
+ {
+ case 2:
+! #line 383 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Case of regular command. Discard the error
+***************
+*** 2113,2117 ****
+
+ case 3:
+! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command, but not a very
+--- 2113,2117 ----
+
+ case 3:
+! #line 394 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Case of regular command, but not a very
+***************
+*** 2125,2129 ****
+
+ case 4:
+! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+--- 2125,2129 ----
+
+ case 4:
+! #line 403 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+***************
+*** 2143,2147 ****
+
+ case 5:
+! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+--- 2143,2147 ----
+
+ case 5:
+! #line 418 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+***************
+*** 2154,2168 ****
+
+ case 6:
+! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2154,2168 ----
+
+ case 6:
+! #line 428 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 430 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 434 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2173,2177 ****
+
+ case 9:
+! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2173,2177 ----
+
+ case 9:
+! #line 440 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2182,2186 ****
+
+ case 10:
+! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2182,2186 ----
+
+ case 10:
+! #line 446 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2191,2195 ****
+
+ case 11:
+! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2191,2195 ----
+
+ case 11:
+! #line 452 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2200,2204 ****
+
+ case 12:
+! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2200,2204 ----
+
+ case 12:
+! #line 458 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2209,2213 ****
+
+ case 13:
+! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2209,2213 ----
+
+ case 13:
+! #line 464 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2218,2222 ****
+
+ case 14:
+! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2218,2222 ----
+
+ case 14:
+! #line 470 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2227,2231 ****
+
+ case 15:
+! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2227,2231 ----
+
+ case 15:
+! #line 476 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2236,2240 ****
+
+ case 16:
+! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2236,2240 ----
+
+ case 16:
+! #line 482 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2245,2249 ****
+
+ case 17:
+! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2245,2249 ----
+
+ case 17:
+! #line 488 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2254,2258 ****
+
+ case 18:
+! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2254,2258 ----
+
+ case 18:
+! #line 494 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2263,2267 ****
+
+ case 19:
+! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2263,2267 ----
+
+ case 19:
+! #line 500 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2272,2276 ****
+
+ case 20:
+! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2272,2276 ----
+
+ case 20:
+! #line 506 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2281,2285 ****
+
+ case 21:
+! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2281,2285 ----
+
+ case 21:
+! #line 512 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2290,2294 ****
+
+ case 22:
+! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2290,2294 ----
+
+ case 22:
+! #line 518 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2299,2303 ****
+
+ case 23:
+! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2299,2303 ----
+
+ case 23:
+! #line 524 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2309,2313 ****
+
+ case 24:
+! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2309,2313 ----
+
+ case 24:
+! #line 531 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2319,2323 ****
+
+ case 25:
+! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2319,2323 ----
+
+ case 25:
+! #line 538 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2329,2333 ****
+
+ case 26:
+! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2329,2333 ----
+
+ case 26:
+! #line 545 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2339,2343 ****
+
+ case 27:
+! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2339,2343 ----
+
+ case 27:
+! #line 552 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2349,2353 ****
+
+ case 28:
+! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2349,2353 ----
+
+ case 28:
+! #line 559 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2359,2363 ****
+
+ case 29:
+! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2359,2363 ----
+
+ case 29:
+! #line 566 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2368,2372 ****
+
+ case 30:
+! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2368,2372 ----
+
+ case 30:
+! #line 572 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2377,2381 ****
+
+ case 31:
+! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2377,2381 ----
+
+ case 31:
+! #line 578 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2386,2390 ****
+
+ case 32:
+! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2386,2390 ----
+
+ case 32:
+! #line 584 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2395,2399 ****
+
+ case 33:
+! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2395,2399 ----
+
+ case 33:
+! #line 590 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2404,2408 ****
+
+ case 34:
+! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2404,2408 ----
+
+ case 34:
+! #line 596 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2413,2417 ****
+
+ case 35:
+! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2413,2417 ----
+
+ case 35:
+! #line 602 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2422,2426 ****
+
+ case 36:
+! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2422,2426 ----
+
+ case 36:
+! #line 608 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2431,2435 ****
+
+ case 37:
+! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2431,2435 ----
+
+ case 37:
+! #line 614 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2440,2444 ****
+
+ case 38:
+! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2440,2444 ----
+
+ case 38:
+! #line 620 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2449,2453 ****
+
+ case 39:
+! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2449,2453 ----
+
+ case 39:
+! #line 626 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2458,2462 ****
+
+ case 40:
+! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2458,2462 ----
+
+ case 40:
+! #line 632 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2467,2471 ****
+
+ case 41:
+! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2467,2471 ----
+
+ case 41:
+! #line 638 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2476,2480 ****
+
+ case 42:
+! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2476,2480 ----
+
+ case 42:
+! #line 644 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2485,2489 ****
+
+ case 43:
+! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2485,2489 ----
+
+ case 43:
+! #line 650 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2494,2498 ****
+
+ case 44:
+! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2494,2498 ----
+
+ case 44:
+! #line 656 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2503,2507 ****
+
+ case 45:
+! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2503,2507 ----
+
+ case 45:
+! #line 662 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2512,2516 ****
+
+ case 46:
+! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2512,2516 ----
+
+ case 46:
+! #line 668 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2521,2525 ****
+
+ case 47:
+! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2521,2525 ----
+
+ case 47:
+! #line 674 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2530,2534 ****
+
+ case 48:
+! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2530,2534 ----
+
+ case 48:
+! #line 680 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2539,2543 ****
+
+ case 49:
+! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2539,2543 ----
+
+ case 49:
+! #line 686 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2548,2552 ****
+
+ case 50:
+! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2548,2552 ----
+
+ case 50:
+! #line 692 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2557,2561 ****
+
+ case 51:
+! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2557,2561 ----
+
+ case 51:
+! #line 698 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2566,2585 ****
+
+ case 52:
+! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+--- 2566,2585 ----
+
+ case 52:
+! #line 706 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 708 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 710 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 714 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+***************
+*** 2588,2592 ****
+
+ case 56:
+! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ register REDIRECT *t;
+--- 2588,2592 ----
+
+ case 56:
+! #line 718 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ register REDIRECT *t;
+***************
+*** 2600,2624 ****
+
+ case 57:
+! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2600,2624 ----
+
+ case 57:
+! #line 729 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 731 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 735 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 737 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 739 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2639,2708 ****
+
+ case 62:
+! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2639,2708 ----
+
+ case 62:
+! #line 755 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 757 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 761 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 763 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 765 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 767 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 769 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 771 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 773 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 775 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 777 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 779 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 781 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 785 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2712,2716 ****
+
+ case 76:
+! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2712,2716 ----
+
+ case 76:
+! #line 790 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2720,2724 ****
+
+ case 77:
+! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2720,2724 ----
+
+ case 77:
+! #line 795 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2728,2732 ****
+
+ case 78:
+! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2728,2732 ----
+
+ case 78:
+! #line 800 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2736,2740 ****
+
+ case 79:
+! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2736,2740 ----
+
+ case 79:
+! #line 805 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2744,2748 ****
+
+ case 80:
+! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2744,2748 ----
+
+ case 80:
+! #line 810 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2752,2756 ****
+
+ case 81:
+! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2752,2756 ----
+
+ case 81:
+! #line 815 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2760,2764 ****
+
+ case 82:
+! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2760,2764 ----
+
+ case 82:
+! #line 820 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2768,2772 ****
+
+ case 83:
+! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2768,2772 ----
+
+ case 83:
+! #line 827 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2776,2780 ****
+
+ case 84:
+! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2776,2780 ----
+
+ case 84:
+! #line 832 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2784,2788 ****
+
+ case 85:
+! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2784,2788 ----
+
+ case 85:
+! #line 837 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2792,2796 ****
+
+ case 86:
+! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2792,2796 ----
+
+ case 86:
+! #line 842 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2800,2804 ****
+
+ case 87:
+! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2800,2804 ----
+
+ case 87:
+! #line 849 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2808,2812 ****
+
+ case 88:
+! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2808,2812 ----
+
+ case 88:
+! #line 854 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2816,2820 ****
+
+ case 89:
+! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2816,2820 ----
+
+ case 89:
+! #line 859 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2824,2828 ****
+
+ case 90:
+! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2824,2828 ----
+
+ case 90:
+! #line 864 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2832,2836 ****
+
+ case 91:
+! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2832,2836 ----
+
+ case 91:
+! #line 869 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2840,2844 ****
+
+ case 92:
+! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2840,2844 ----
+
+ case 92:
+! #line 874 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2848,2852 ****
+
+ case 93:
+! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+--- 2848,2852 ----
+
+ case 93:
+! #line 881 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+***************
+*** 2856,2860 ****
+
+ case 94:
+! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+--- 2856,2860 ----
+
+ case 94:
+! #line 886 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+***************
+*** 2864,2868 ****
+
+ case 95:
+! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+--- 2864,2868 ----
+
+ case 95:
+! #line 891 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+***************
+*** 2872,2896 ****
+
+ case 96:
+! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2872,2896 ----
+
+ case 96:
+! #line 898 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 901 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 904 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 908 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 910 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2924,2928 ****
+
+ case 101:
+! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+--- 2924,2928 ----
+
+ case 101:
+! #line 941 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+***************
+*** 2932,2936 ****
+
+ case 102:
+! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+--- 2932,2936 ----
+
+ case 102:
+! #line 948 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+***************
+*** 2940,2944 ****
+
+ case 103:
+! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2940,2944 ----
+
+ case 103:
+! #line 953 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2960,2964 ****
+
+ case 104:
+! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+--- 2960,2964 ----
+
+ case 104:
+! #line 970 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+***************
+*** 2968,2972 ****
+
+ case 105:
+! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2968,2972 ----
+
+ case 105:
+! #line 975 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2988,2992 ****
+
+ case 106:
+! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+--- 2988,2992 ----
+
+ case 106:
+! #line 992 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+***************
+*** 2996,3110 ****
+
+ case 107:
+! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 2996,3110 ----
+
+ case 107:
+! #line 999 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 1001 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 1003 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1008 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1012 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1016 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1020 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1022 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1024 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1029 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1033 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1035 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1037 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1039 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1043 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1045 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1047 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1049 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1051 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1053 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1057 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1059 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1068 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3115,3119 ****
+
+ case 132:
+! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 3115,3119 ----
+
+ case 132:
+! #line 1077 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3122,3126 ****
+
+ case 134:
+! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3122,3126 ----
+
+ case 134:
+! #line 1084 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3132,3146 ****
+
+ case 136:
+! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+--- 3132,3146 ----
+
+ case 136:
+! #line 1095 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1097 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1099 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+***************
+*** 3152,3186 ****
+
+ case 139:
+! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+--- 3152,3186 ----
+
+ case 139:
+! #line 1106 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1108 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1110 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1118 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1120 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1122 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1136 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+***************
+*** 3198,3202 ****
+
+ case 150:
+! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+--- 3198,3202 ----
+
+ case 150:
+! #line 1149 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+***************
+*** 3217,3221 ****
+
+ case 151:
+! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+--- 3217,3221 ----
+
+ case 151:
+! #line 1165 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+***************
+*** 3233,3247 ****
+
+ case 152:
+! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3233,3247 ----
+
+ case 152:
+! #line 1180 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1182 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1184 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3253,3272 ****
+
+ case 155:
+! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3253,3272 ----
+
+ case 155:
+! #line 1191 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1194 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1198 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1200 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3277,3281 ****
+
+ case 159:
+! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3277,3281 ----
+
+ case 159:
+! #line 1206 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3286,3290 ****
+
+ case 160:
+! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+--- 3286,3290 ----
+
+ case 160:
+! #line 1212 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3306,3310 ****
+
+ case 161:
+! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+--- 3306,3310 ----
+
+ case 161:
+! #line 1229 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3327,3336 ****
+
+ case 162:
+! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+--- 3327,3336 ----
+
+ case 162:
+! #line 1249 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1251 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+***************
+*** 3358,3377 ****
+
+ case 164:
+! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+--- 3358,3377 ----
+
+ case 164:
+! #line 1274 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1278 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1280 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1282 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+***************
+*** 3593,3597 ****
+
+
+! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+
+--- 3593,3597 ----
+
+
+! #line 1284 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+
+
+***************
+*** 4851,4854 ****
+--- 4851,4864 ----
+ }
+
++ char *
++ parser_remaining_input ()
++ {
++ if (shell_input_line == 0)
++ return 0;
++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len)
++ return '\0'; /* XXX */
++ return (shell_input_line + shell_input_line_index);
++ }
++
+ #ifdef INCLUDE_UNUSED
+ /* Back the input pointer up by one, effectively `ungetting' a character. */
+***************
+*** 6340,6345 ****
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+! if (interactive)
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+--- 6350,6355 ----
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+!
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 29
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 30
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-031 b/patches/source/bash/bash-4.3-patches/bash43-031
new file mode 100644
index 00000000..a6519560
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-031
@@ -0,0 +1,112 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-031
+
+Bug-Reported-by: lolilolicon <lolilolicon@gmail.com>
+Bug-Reference-ID: <CAMtVo_Nz=32Oq=zWTb6=+8gUNXOo2rRvud1W4oPnA-cgVk_ZqQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00139.html
+
+Bug-Description:
+
+The new nameref assignment functionality introduced in bash-4.3 did not perform
+enough validation on the variable value and would create variables with
+invalid names.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500
+--- subst.h 2014-09-01 12:16:56.000000000 -0400
+***************
+*** 48,51 ****
+--- 48,52 ----
+ #define ASS_MKGLOBAL 0x0008 /* force global assignment */
+ #define ASS_NAMEREF 0x0010 /* assigning to nameref variable */
++ #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */
+
+ /* Flags for the string extraction functions. */
+*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400
+--- variables.c 2014-09-01 14:37:44.000000000 -0400
+***************
+*** 2504,2511 ****
+ int hflags, aflags;
+ {
+! char *newval;
+ SHELL_VAR *entry;
+
+ entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table);
+ /* Follow the nameref chain here if this is the global variables table */
+ if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table)
+--- 2566,2590 ----
+ int hflags, aflags;
+ {
+! char *newname, *newval;
+ SHELL_VAR *entry;
++ #if defined (ARRAY_VARS)
++ arrayind_t ind;
++ char *subp;
++ int sublen;
++ #endif
+
++ newname = 0;
++ #if defined (ARRAY_VARS)
++ if ((aflags & ASS_FROMREF) && (hflags & HASH_NOSRCH) == 0 && valid_array_reference (name))
++ {
++ newname = array_variable_name (name, &subp, &sublen);
++ if (newname == 0)
++ return (SHELL_VAR *)NULL; /* XXX */
++ entry = hash_lookup (newname, table);
++ }
++ else
++ #endif
+ entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table);
++
+ /* Follow the nameref chain here if this is the global variables table */
+ if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table)
+***************
+*** 2538,2541 ****
+--- 2617,2630 ----
+ }
+ }
++ #if defined (ARRAY_VARS)
++ else if (entry == 0 && newname)
++ {
++ entry = make_new_array_variable (newname); /* indexed array by default */
++ if (entry == 0)
++ return entry;
++ ind = array_expand_index (name, subp, sublen);
++ bind_array_element (entry, ind, value, aflags);
++ }
++ #endif
+ else if (entry == 0)
+ {
+***************
+*** 2658,2662 ****
+ if (nameref_cell (nv) == 0)
+ return (bind_variable_internal (nv->name, value, nvc->table, 0, flags));
+! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags));
+ }
+ else
+--- 2747,2752 ----
+ if (nameref_cell (nv) == 0)
+ return (bind_variable_internal (nv->name, value, nvc->table, 0, flags));
+! /* XXX - bug here with ref=array[index] */
+! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF));
+ }
+ else
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 30
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 31
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-032 b/patches/source/bash/bash-4.3-patches/bash43-032
new file mode 100644
index 00000000..0843719c
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-032
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-032
+
+Bug-Reported-by: crispusfairbairn@gmail.com
+Bug-Reference-ID: <b5e499f7-3b98-408d-9f94-c0387580e73a@googlegroups.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00013.html
+
+Bug-Description:
+
+When bash is running in Posix mode, it allows signals -- including SIGCHLD --
+to interrupt the `wait' builtin, as Posix requires. However, the interrupt
+causes bash to not run a SIGCHLD trap for all exited children. This patch
+fixes the issue and restores the documented behavior in Posix mode.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400
+--- jobs.c 2014-09-09 11:50:38.000000000 -0400
+***************
+*** 3340,3344 ****
+ {
+ interrupt_immediately = 0;
+! trap_handler (SIGCHLD); /* set pending_traps[SIGCHLD] */
+ wait_signal_received = SIGCHLD;
+ /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up;
+--- 3346,3352 ----
+ {
+ interrupt_immediately = 0;
+! /* This was trap_handler (SIGCHLD) but that can lose traps if
+! children_exited > 1 */
+! queue_sigchld_trap (children_exited);
+ wait_signal_received = SIGCHLD;
+ /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up;
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 31
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 32
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-033 b/patches/source/bash/bash-4.3-patches/bash43-033
new file mode 100644
index 00000000..5f5147ff
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-033
@@ -0,0 +1,225 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-033
+
+Bug-Reported-by: mickael9@gmail.com, Jan Rome <jan.rome@gmail.com>
+Bug-Reference-ID: <20140907224046.382ED3610CC@mickael-laptop.localdomain>,
+ <540D661D.50908@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00029.html
+ http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00030.html
+
+Bug-Description:
+
+Bash does not clean up the terminal state in all cases where bash or
+readline modifies it and bash is subsequently terminated by a fatal signal.
+This happens when the `read' builtin modifies the terminal settings, both
+when readline is active and when it is not. It occurs most often when a script
+installs a trap that exits on a signal without re-sending the signal to itself.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500
+--- shell.c 2014-12-22 10:27:50.000000000 -0500
+***************
+*** 74,77 ****
+--- 74,78 ----
+
+ #if defined (READLINE)
++ # include <readline/readline.h>
+ # include "bashline.h"
+ #endif
+***************
+*** 910,913 ****
+--- 912,923 ----
+ fflush (stderr);
+
++ /* Clean up the terminal if we are in a state where it's been modified. */
++ #if defined (READLINE)
++ if (RL_ISSTATE (RL_STATE_TERMPREPPED) && rl_deprep_term_function)
++ (*rl_deprep_term_function) ();
++ #endif
++ if (read_tty_modified ())
++ read_tty_cleanup ();
++
+ /* Do trap[0] if defined. Allow it to override the exit status
+ passed to us. */
+*** ../bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400
+--- builtins/read.def 2014-12-22 10:48:54.000000000 -0500
+***************
+*** 141,148 ****
+ int sigalrm_seen;
+
+! static int reading;
+ static SigHandler *old_alrm;
+ static unsigned char delim;
+
+ /* In all cases, SIGALRM just sets a flag that we check periodically. This
+ avoids problems with the semi-tricky stuff we do with the xfree of
+--- 141,150 ----
+ int sigalrm_seen;
+
+! static int reading, tty_modified;
+ static SigHandler *old_alrm;
+ static unsigned char delim;
+
++ static struct ttsave termsave;
++
+ /* In all cases, SIGALRM just sets a flag that we check periodically. This
+ avoids problems with the semi-tricky stuff we do with the xfree of
+***************
+*** 189,193 ****
+ SHELL_VAR *var;
+ TTYSTRUCT ttattrs, ttset;
+- struct ttsave termsave;
+ #if defined (ARRAY_VARS)
+ WORD_LIST *alist;
+--- 191,194 ----
+***************
+*** 222,226 ****
+ USE_VAR(lastsig);
+
+! sigalrm_seen = reading = 0;
+
+ i = 0; /* Index into the string that we are reading. */
+--- 223,227 ----
+ USE_VAR(lastsig);
+
+! sigalrm_seen = reading = tty_modified = 0;
+
+ i = 0; /* Index into the string that we are reading. */
+***************
+*** 439,442 ****
+--- 440,445 ----
+ goto assign_vars;
+ }
++ if (interactive_shell == 0)
++ initialize_terminating_signals ();
+ old_alrm = set_signal_handler (SIGALRM, sigalrm);
+ add_unwind_protect (reset_alarm, (char *)NULL);
+***************
+*** 483,487 ****
+--- 486,493 ----
+ if (i < 0)
+ sh_ttyerror (1);
++ tty_modified = 1;
+ add_unwind_protect ((Function *)ttyrestore, (char *)&termsave);
++ if (interactive_shell == 0)
++ initialize_terminating_signals ();
+ }
+ }
+***************
+*** 498,502 ****
+--- 504,511 ----
+ sh_ttyerror (1);
+
++ tty_modified = 1;
+ add_unwind_protect ((Function *)ttyrestore, (char *)&termsave);
++ if (interactive_shell == 0)
++ initialize_terminating_signals ();
+ }
+
+***************
+*** 589,592 ****
+--- 598,603 ----
+ else
+ lastsig = 0;
++ if (terminating_signal && tty_modified)
++ ttyrestore (&termsave); /* fix terminal before exiting */
+ CHECK_TERMSIG;
+ eof = 1;
+***************
+*** 979,982 ****
+--- 990,1007 ----
+ {
+ ttsetattr (ttp->fd, ttp->attrs);
++ tty_modified = 0;
++ }
++
++ void
++ read_tty_cleanup ()
++ {
++ if (tty_modified)
++ ttyrestore (&termsave);
++ }
++
++ int
++ read_tty_modified ()
++ {
++ return (tty_modified);
+ }
+
+*** ../bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400
+--- builtins/common.h 2014-12-22 10:10:14.000000000 -0500
+***************
+*** 123,126 ****
+--- 141,148 ----
+ extern void getopts_reset __P((int));
+
++ /* Functions from read.def */
++ extern void read_tty_cleanup __P((void));
++ extern int read_tty_modified __P((void));
++
+ /* Functions from set.def */
+ extern int minus_o_option_value __P((char *));
+*** ../bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400
+--- bashline.c 2014-09-08 11:28:56.000000000 -0400
+***************
+*** 203,206 ****
+--- 203,207 ----
+ extern int array_needs_making;
+ extern int posixly_correct, no_symbolic_links;
++ extern int sigalrm_seen;
+ extern char *current_prompt_string, *ps1_prompt;
+ extern STRING_INT_ALIST word_token_alist[];
+***************
+*** 4209,4214 ****
+ /* If we're going to longjmp to top_level, make sure we clean up readline.
+ check_signals will call QUIT, which will eventually longjmp to top_level,
+! calling run_interrupt_trap along the way. */
+! if (interrupt_state)
+ rl_cleanup_after_signal ();
+ bashline_reset_event_hook ();
+--- 4262,4268 ----
+ /* If we're going to longjmp to top_level, make sure we clean up readline.
+ check_signals will call QUIT, which will eventually longjmp to top_level,
+! calling run_interrupt_trap along the way. The check for sigalrm_seen is
+! to clean up the read builtin's state. */
+! if (terminating_signal || interrupt_state || sigalrm_seen)
+ rl_cleanup_after_signal ();
+ bashline_reset_event_hook ();
+*** ../bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500
+--- sig.c 2014-09-08 11:26:33.000000000 -0400
+***************
+*** 533,538 ****
+ /* Set the event hook so readline will call it after the signal handlers
+ finish executing, so if this interrupted character input we can get
+! quick response. */
+! if (interactive_shell && interactive && no_line_editing == 0)
+ bashline_set_event_hook ();
+ #endif
+--- 533,540 ----
+ /* Set the event hook so readline will call it after the signal handlers
+ finish executing, so if this interrupted character input we can get
+! quick response. If readline is active or has modified the terminal we
+! need to set this no matter what the signal is, though the check for
+! RL_STATE_TERMPREPPED is possibly redundant. */
+! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED))
+ bashline_set_event_hook ();
+ #endif
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 32
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 33
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-034 b/patches/source/bash/bash-4.3-patches/bash43-034
new file mode 100644
index 00000000..17372aa2
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-034
@@ -0,0 +1,90 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-034
+
+Bug-Reported-by: Dreamcat4 <dreamcat4@gmail.com>
+Bug-Reference-ID: <CAN39uTpAEs2GFu4ebC_SfSVMRTh-DJ9YanrY4BZZ3OO+CCHjng@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html
+
+Bug-Description:
+
+If neither the -f nor -v options is supplied to unset, and a name argument is
+found to be a function and unset, subsequent name arguments are not treated as
+variables before attempting to unset a function by that name.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400
+--- builtins/set.def 2015-05-05 13:25:36.000000000 -0400
+***************
+*** 752,758 ****
+--- 797,805 ----
+ {
+ int unset_function, unset_variable, unset_array, opt, nameref, any_failed;
++ int global_unset_func, global_unset_var;
+ char *name;
+
+ unset_function = unset_variable = unset_array = nameref = any_failed = 0;
++ global_unset_func = global_unset_var = 0;
+
+ reset_internal_getopt ();
+***************
+*** 762,769 ****
+ {
+ case 'f':
+! unset_function = 1;
+ break;
+ case 'v':
+! unset_variable = 1;
+ break;
+ case 'n':
+--- 809,816 ----
+ {
+ case 'f':
+! global_unset_func = 1;
+ break;
+ case 'v':
+! global_unset_var = 1;
+ break;
+ case 'n':
+***************
+*** 778,782 ****
+ list = loptend;
+
+! if (unset_function && unset_variable)
+ {
+ builtin_error (_("cannot simultaneously unset a function and a variable"));
+--- 825,829 ----
+ list = loptend;
+
+! if (global_unset_func && global_unset_var)
+ {
+ builtin_error (_("cannot simultaneously unset a function and a variable"));
+***************
+*** 796,799 ****
+--- 843,849 ----
+ name = list->word->word;
+
++ unset_function = global_unset_func;
++ unset_variable = global_unset_var;
++
+ #if defined (ARRAY_VARS)
+ unset_array = 0;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 33
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 34
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-035 b/patches/source/bash/bash-4.3-patches/bash43-035
new file mode 100644
index 00000000..f18bc602
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-035
@@ -0,0 +1,63 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-035
+
+Bug-Reported-by: <romerox.adrian@gmail.com>
+Bug-Reference-ID: <CABV5r3zhPXmSKUe9uedeGc5YFBM2njJ1iVmY2h5neWdQpDBQug@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00045.html
+
+Bug-Description:
+
+A locale with a long name can trigger a buffer overflow and core dump. This
+applies on systems that do not have locale_charset in libc, are not using
+GNU libiconv, and are not using the libintl that ships with bash in lib/intl.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500
+--- lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400
+***************
+*** 79,83 ****
+ if (s)
+ {
+! strcpy (charsetbuf, s+1);
+ t = strchr (charsetbuf, '@');
+ if (t)
+--- 79,84 ----
+ if (s)
+ {
+! strncpy (charsetbuf, s+1, sizeof (charsetbuf) - 1);
+! charsetbuf[sizeof (charsetbuf) - 1] = '\0';
+ t = strchr (charsetbuf, '@');
+ if (t)
+***************
+*** 85,89 ****
+ return charsetbuf;
+ }
+! strcpy (charsetbuf, locale);
+ return charsetbuf;
+ }
+--- 86,91 ----
+ return charsetbuf;
+ }
+! strncpy (charsetbuf, locale, sizeof (charsetbuf) - 1);
+! charsetbuf[sizeof (charsetbuf) - 1] = '\0';
+ return charsetbuf;
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 34
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 35
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-036 b/patches/source/bash/bash-4.3-patches/bash43-036
new file mode 100644
index 00000000..5b42c246
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-036
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-036
+
+Bug-Reported-by: emanuelczirai@cryptolab.net
+Bug-Reference-ID: <f962e4f556da5ebfadaf7afe9c78a8cb@cryptolab.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html
+
+Bug-Description:
+
+When evaluating and setting integer variables, and the assignment fails to
+create a variable (for example, when performing an operation on an array
+variable with an invalid subscript), bash attempts to dereference a null
+pointer, causing a segmentation violation.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20150206/variables.c 2015-01-23 20:39:27.000000000 -0500
+--- variables.c 2015-02-19 13:56:12.000000000 -0500
+***************
+*** 2834,2841 ****
+ v = bind_variable (lhs, rhs, 0);
+
+! if (v && isint)
+! VSETATTR (v, att_integer);
+!
+! VUNSETATTR (v, att_invisible);
+
+ return (v);
+--- 2834,2843 ----
+ v = bind_variable (lhs, rhs, 0);
+
+! if (v)
+! {
+! if (isint)
+! VSETATTR (v, att_integer);
+! VUNSETATTR (v, att_invisible);
+! }
+
+ return (v);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 35
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 36
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-037 b/patches/source/bash/bash-4.3-patches/bash43-037
new file mode 100644
index 00000000..f04012ba
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-037
@@ -0,0 +1,43 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-037
+
+Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org>
+Bug-Reference-ID: <20150204144240.GN13956@eeg.ccf.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00007.html
+
+Bug-Description:
+
+If an associative array uses `@' or `*' as a subscript, `declare -p' produces
+output that cannot be reused as input.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400
+--- assoc.c 2015-02-04 15:28:25.000000000 -0500
+***************
+*** 437,440 ****
+--- 440,445 ----
+ if (sh_contains_shell_metas (tlist->key))
+ istr = sh_double_quote (tlist->key);
++ else if (ALL_ELEMENT_SUB (tlist->key[0]) && tlist->key[1] == '\0')
++ istr = sh_double_quote (tlist->key);
+ else
+ istr = tlist->key;
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 36
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-038 b/patches/source/bash/bash-4.3-patches/bash43-038
new file mode 100644
index 00000000..e0de74e0
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-038
@@ -0,0 +1,88 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-038
+
+Bug-Reported-by: worley@alum.mit.edu (Dale R. Worley)
+Bug-Reference-ID: <201406100051.s5A0pCeB014978@hobgoblin.ariadne.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00028.html
+
+Bug-Description:
+
+There are a number of instances where `time' is not recognized as a reserved
+word when the shell grammar says it should be.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400
+--- parse.y 2014-06-11 10:25:53.000000000 -0400
+***************
+*** 2819,2827 ****
+ case OR_OR:
+ case '&':
+ case DO:
+ case THEN:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+--- 2819,2832 ----
+ case OR_OR:
+ case '&':
++ case WHILE:
+ case DO:
++ case UNTIL:
++ case IF:
+ case THEN:
++ case ELIF:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* )( */
+! case ')': /* only valid in case statement */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+*** ../bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400
+--- y.tab.c 2015-05-19 15:08:43.000000000 -0400
+***************
+*** 5131,5139 ****
+ case OR_OR:
+ case '&':
+ case DO:
+ case THEN:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+--- 5131,5144 ----
+ case OR_OR:
+ case '&':
++ case WHILE:
+ case DO:
++ case UNTIL:
++ case IF:
+ case THEN:
++ case ELIF:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* )( */
+! case ')': /* only valid in case statement */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 38
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-039 b/patches/source/bash/bash-4.3-patches/bash43-039
new file mode 100644
index 00000000..e5e38870
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-039
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-039
+
+Bug-Reported-by: SN <poczta-sn@gazeta.pl>
+Bug-Reference-ID: <54E2554C.205@gazeta.pl>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00060.html
+
+Bug-Description:
+
+Using the output of `declare -p' when run in a function can result in variables
+that are invisible to `declare -p'. This problem occurs when an assignment
+builtin such as `declare' receives a quoted compound array assignment as one of
+its arguments.
+
+Patch (apply with `patch -p0'):
+
+*** /usr/src/local/bash/bash-4.3-patched/arrayfunc.c 2014-10-01 13:08:48.000000000 -0400
+--- arrayfunc.c 2015-02-19 14:33:05.000000000 -0500
+***************
+*** 405,408 ****
+--- 405,411 ----
+ else
+ array_insert (a, i, l->word->word);
++
++ VUNSETATTR (var, att_invisible); /* no longer invisible */
++
+ return var;
+ }
+***************
+*** 635,638 ****
+--- 638,645 ----
+ if (nlist)
+ dispose_words (nlist);
++
++ if (var)
++ VUNSETATTR (var, att_invisible); /* no longer invisible */
++
+ return (var);
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 38
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-040 b/patches/source/bash/bash-4.3-patches/bash43-040
new file mode 100644
index 00000000..978ce1cd
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-040
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-040
+
+Bug-Reported-by: Jean Delvare <jdelvare@suse.de>
+Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html
+
+Bug-Description:
+
+There is a memory leak that occurs when bash expands an array reference on
+the rhs of an assignment statement.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400
+--- subst.c 2015-06-22 09:16:53.000000000 -0400
+***************
+*** 5783,5787 ****
+ if (pflags & PF_ASSIGNRHS)
+ {
+! temp = array_variable_name (name, &tt, (int *)0);
+ if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
+ temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
+--- 5783,5787 ----
+ if (pflags & PF_ASSIGNRHS)
+ {
+! var = array_variable_part (name, &tt, (int *)0);
+ if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
+ temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-041 b/patches/source/bash/bash-4.3-patches/bash43-041
new file mode 100644
index 00000000..a040a2ac
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-041
@@ -0,0 +1,72 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-041
+
+Bug-Reported-by: Hanno Böck <hanno@hboeck.de>
+Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html,
+ http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html
+
+Bug-Description:
+
+There are several out-of-bounds read errors that occur when completing command
+lines where assignment statements appear before the command name. The first
+two appear only when programmable completion is enabled; the last one only
+happens when listing possible completions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.40/bashline.c 2014-12-29 14:39:43.000000000 -0500
+--- bashline.c 2015-08-12 10:21:58.000000000 -0400
+***************
+*** 1469,1476 ****
+--- 1469,1489 ----
+ os = start;
+ n = 0;
++ was_assignment = 0;
+ s = find_cmd_start (os);
+ e = find_cmd_end (end);
+ do
+ {
++ /* Don't read past the end of rl_line_buffer */
++ if (s > rl_end)
++ {
++ s1 = s = e1;
++ break;
++ }
++ /* Or past point if point is within an assignment statement */
++ else if (was_assignment && s > rl_point)
++ {
++ s1 = s = e1;
++ break;
++ }
+ /* Skip over assignment statements preceding a command name. If we
+ don't find a command name at all, we can perform command name
+*** ../bash-4.3.40/lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400
+--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400
+***************
+*** 690,693 ****
+--- 690,695 ----
+ if (temp == 0 || *temp == '\0')
+ return (pathname);
++ else if (temp[1] == 0 && temp == pathname)
++ return (pathname);
+ /* If the basename is NULL, we might have a pathname like '/usr/src/'.
+ Look for a previous slash and, if one is found, return the portion
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-042 b/patches/source/bash/bash-4.3-patches/bash43-042
new file mode 100644
index 00000000..cc3e17c6
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-042
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-042
+
+Bug-Reported-by: Nathan Neulinger <nneul@neulinger.org>
+Bug-Reference-ID: <558EFDF2.7060402@neulinger.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html
+
+Bug-Description:
+
+There is a problem when parsing command substitutions containing `case'
+commands within pipelines that causes the parser to not correctly identify
+the end of the command substitution.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400
+--- parse.y 2015-06-29 10:59:27.000000000 -0400
+***************
+*** 3709,3712 ****
+--- 3709,3714 ----
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
++ if (tflags & LEX_RESWDOK)
++ lex_rwlen = 0;
+ }
+ }
+*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400
+--- y.tab.c 2015-06-29 10:59:27.000000000 -0400
+***************
+*** 6021,6024 ****
+--- 6021,6026 ----
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
++ if (tflags & LEX_RESWDOK)
++ lex_rwlen = 0;
+ }
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-043 b/patches/source/bash/bash-4.3-patches/bash43-043
new file mode 100644
index 00000000..ad82c292
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-043
@@ -0,0 +1,59 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-043
+
+Bug-Reported-by: lolilolicon <lolilolicon@gmail.com>
+Bug-Reference-ID: <CAMtVo_MF16KWanCB4C8WxA88Qt26zWsvV6V7+_U2fM0E6tCDxw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html
+
+Bug-Description:
+
+When the lastpipe option is enabled, the last component can contain nested
+pipelines and cause a segmentation fault under certain circumestances.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400
+--- execute_cmd.c 2014-08-15 08:55:24.000000000 -0400
+***************
+*** 2406,2412 ****
+ {
+ #if defined (JOB_CONTROL)
+! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid);
+! #endif
+ lstdin = wait_for (lastpid);
+ #if defined (JOB_CONTROL)
+ /* If wait_for removes the job from the jobs table, use result of last
+--- 2433,2447 ----
+ {
+ #if defined (JOB_CONTROL)
+! if (INVALID_JOB (lastpipe_jid) == 0)
+! {
+! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid);
+! lstdin = wait_for (lastpid);
+! }
+! else
+! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */
+! #else
+ lstdin = wait_for (lastpid);
++ #endif
++
+ #if defined (JOB_CONTROL)
+ /* If wait_for removes the job from the jobs table, use result of last
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 43
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-044 b/patches/source/bash/bash-4.3-patches/bash43-044
new file mode 100644
index 00000000..d8f1ce07
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-044
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-044
+
+Bug-Reported-by: Ondrej Oprala <ooprala@redhat.com>
+Bug-Reference-ID: <539ED55B.2080103@redhat.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html
+
+Bug-Description:
+
+A typo prevents the `compat42' shopt option from working as intended.
+
+Patch (apply with `patch -p0'):
+
+diff -rC 2 bash-4.3.42/builtins/shopt.def bash-4.3.43/builtins/shopt.def
+*** bash-4.3.42/builtins/shopt.def 2013-02-27 09:43:20.000000000 -0500
+--- builtins/shopt.def 2015-10-16 11:25:28.000000000 -0400
+***************
+*** 161,165 ****
+ { "compat40", &shopt_compat40, set_compatibility_level },
+ { "compat41", &shopt_compat41, set_compatibility_level },
+! { "compat42", &shopt_compat41, set_compatibility_level },
+ #if defined (READLINE)
+ { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
+--- 161,165 ----
+ { "compat40", &shopt_compat40, set_compatibility_level },
+ { "compat41", &shopt_compat41, set_compatibility_level },
+! { "compat42", &shopt_compat42, set_compatibility_level },
+ #if defined (READLINE)
+ { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 43
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 44
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-045 b/patches/source/bash/bash-4.3-patches/bash43-045
new file mode 100644
index 00000000..25dc3587
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-045
@@ -0,0 +1,52 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-045
+
+Bug-Reported-by: Basin Ilya <basinilya@gmail.com>
+Bug-Reference-ID: <5624C0AC.8070802@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-10/msg00141.html
+
+Bug-Description:
+
+If a file open attempted as part of a redirection fails because it is interrupted
+by a signal, the shell needs to process any pending traps to allow the redirection
+to be canceled.
+
+Patch (apply with `patch -p0'):
+
+*** bash-20150109/redir.c 2014-12-03 10:47:38.000000000 -0500
+--- redir.c 2015-01-16 10:15:47.000000000 -0500
+***************
+*** 672,676 ****
+ e = errno;
+ if (fd < 0 && e == EINTR)
+! QUIT;
+ errno = e;
+ }
+--- 672,679 ----
+ e = errno;
+ if (fd < 0 && e == EINTR)
+! {
+! QUIT;
+! run_pending_traps ();
+! }
+ errno = e;
+ }
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 44
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 45
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-046 b/patches/source/bash/bash-4.3-patches/bash43-046
new file mode 100644
index 00000000..bea3970a
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-046
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-046
+
+Bug-Reported-by: Sergey Tselikh <stselikh@gmail.com>
+Bug-Reference-ID: <20150816110235.91f3e12e3f20d20cdaad963e@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-08/msg00080.html
+
+Bug-Description:
+
+An incorrect conversion from an indexed to associative array can result in a
+core dump.
+
+Patch (apply with `patch -p0'):
+
+*** /fs2/chet/bash/bash-20150813/subst.c 2015-08-13 11:32:54.000000000 -0400
+--- subst.c 2015-08-18 10:13:59.000000000 -0400
+***************
+*** 9562,9566 ****
+ opts[opti] = '\0';
+ if (opti > 0)
+! make_internal_declare (tlist->word->word, opts);
+
+ t = do_word_assignment (tlist->word, 0);
+--- 9562,9573 ----
+ opts[opti] = '\0';
+ if (opti > 0)
+! {
+! t = make_internal_declare (tlist->word->word, opts);
+! if (t != EXECUTION_SUCCESS)
+! {
+! last_command_exit_value = t;
+! exp_jump_to_top_level (DISCARD);
+! }
+! }
+
+ t = do_word_assignment (tlist->word, 0);
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 45
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 46
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-047 b/patches/source/bash/bash-4.3-patches/bash43-047
new file mode 100644
index 00000000..316e3afc
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-047
@@ -0,0 +1,150 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-047
+
+Bug-Reported-by: Bernd Dietzel
+Bug-Reference-ID:
+Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1507025
+
+Bug-Description:
+
+Bash performs word expansions on the prompt strings after the special
+escape sequences are expanded. If a malicious user can modify the system
+hostname or change the name of the bash executable and coerce a user into
+executing it, and the new name contains word expansions (including
+command substitution), bash will expand them in prompt strings containing
+the \h or \H and \s escape sequences, respectively.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2015-08-13 15:11:54.000000000 -0400
+--- parse.y 2016-03-07 15:44:14.000000000 -0500
+***************
+*** 5259,5263 ****
+ int result_size, result_index;
+ int c, n, i;
+! char *temp, octal_string[4];
+ struct tm *tm;
+ time_t the_time;
+--- 5259,5263 ----
+ int result_size, result_index;
+ int c, n, i;
+! char *temp, *t_host, octal_string[4];
+ struct tm *tm;
+ time_t the_time;
+***************
+*** 5407,5411 ****
+ case 's':
+ temp = base_pathname (shell_name);
+! temp = savestring (temp);
+ goto add_string;
+
+--- 5407,5415 ----
+ case 's':
+ temp = base_pathname (shell_name);
+! /* Try to quote anything the user can set in the file system */
+! if (promptvars || posixly_correct)
+! temp = sh_backslash_quote_for_double_quotes (temp);
+! else
+! temp = savestring (temp);
+ goto add_string;
+
+***************
+*** 5497,5503 ****
+ case 'h':
+ case 'H':
+! temp = savestring (current_host_name);
+! if (c == 'h' && (t = (char *)strchr (temp, '.')))
+ *t = '\0';
+ goto add_string;
+
+--- 5501,5515 ----
+ case 'h':
+ case 'H':
+! t_host = savestring (current_host_name);
+! if (c == 'h' && (t = (char *)strchr (t_host, '.')))
+ *t = '\0';
++ if (promptvars || posixly_correct)
++ /* Make sure that expand_prompt_string is called with a
++ second argument of Q_DOUBLE_QUOTES if we use this
++ function here. */
++ temp = sh_backslash_quote_for_double_quotes (t_host);
++ else
++ temp = savestring (t_host);
++ free (t_host);
+ goto add_string;
+
+*** ../bash-4.3-patched/y.tab.c 2015-08-13 15:11:54.000000000 -0400
+--- y.tab.c 2016-03-07 15:44:14.000000000 -0500
+***************
+*** 7571,7575 ****
+ int result_size, result_index;
+ int c, n, i;
+! char *temp, octal_string[4];
+ struct tm *tm;
+ time_t the_time;
+--- 7571,7575 ----
+ int result_size, result_index;
+ int c, n, i;
+! char *temp, *t_host, octal_string[4];
+ struct tm *tm;
+ time_t the_time;
+***************
+*** 7719,7723 ****
+ case 's':
+ temp = base_pathname (shell_name);
+! temp = savestring (temp);
+ goto add_string;
+
+--- 7719,7727 ----
+ case 's':
+ temp = base_pathname (shell_name);
+! /* Try to quote anything the user can set in the file system */
+! if (promptvars || posixly_correct)
+! temp = sh_backslash_quote_for_double_quotes (temp);
+! else
+! temp = savestring (temp);
+ goto add_string;
+
+***************
+*** 7809,7815 ****
+ case 'h':
+ case 'H':
+! temp = savestring (current_host_name);
+! if (c == 'h' && (t = (char *)strchr (temp, '.')))
+ *t = '\0';
+ goto add_string;
+
+--- 7813,7827 ----
+ case 'h':
+ case 'H':
+! t_host = savestring (current_host_name);
+! if (c == 'h' && (t = (char *)strchr (t_host, '.')))
+ *t = '\0';
++ if (promptvars || posixly_correct)
++ /* Make sure that expand_prompt_string is called with a
++ second argument of Q_DOUBLE_QUOTES if we use this
++ function here. */
++ temp = sh_backslash_quote_for_double_quotes (t_host);
++ else
++ temp = savestring (t_host);
++ free (t_host);
+ goto add_string;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 46
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 47
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash-4.3-patches/bash43-048 b/patches/source/bash/bash-4.3-patches/bash43-048
new file mode 100644
index 00000000..6a8588ec
--- /dev/null
+++ b/patches/source/bash/bash-4.3-patches/bash43-048
@@ -0,0 +1,54 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-048
+
+Bug-Reported-by: up201407890@alunos.dcc.fc.up.pt
+Bug-Reference-ID: <20151210201649.126444eionzfsam8@webmail.alunos.dcc.fc.up.pt>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-12/msg00054.html
+
+Bug-Description:
+
+If a malicious user can inject a value of $SHELLOPTS containing `xtrace'
+and a value for $PS4 that includes a command substitution into a shell
+running as root, bash will expand the command substitution as part of
+expanding $PS4 when it executes a traced command.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/variables.c 2015-11-26 12:31:21.000000000 -0500
+--- variables.c 2015-12-23 10:19:01.000000000 -0500
+***************
+*** 496,500 ****
+ set_if_not ("PS2", secondary_prompt);
+ }
+! set_if_not ("PS4", "+ ");
+
+ /* Don't allow IFS to be imported from the environment. */
+--- 496,504 ----
+ set_if_not ("PS2", secondary_prompt);
+ }
+!
+! if (current_user.euid == 0)
+! bind_variable ("PS4", "+ ", 0);
+! else
+! set_if_not ("PS4", "+ ");
+
+ /* Don't allow IFS to be imported from the environment. */
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 47
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 48
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patches/source/bash/bash.SlackBuild b/patches/source/bash/bash.SlackBuild
new file mode 100755
index 00000000..a2950c26
--- /dev/null
+++ b/patches/source/bash/bash.SlackBuild
@@ -0,0 +1,170 @@
+#!/bin/sh
+
+# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Modified 2011, 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+
+
+# Set initial variables:
+CWD=`pwd`
+if [ "$TMP" = "" ]; then
+ TMP=/tmp
+fi
+PKG=$TMP/package-bash
+
+VERSION=${VERSION:-$(echo bash-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.2}
+
+# Automatically determine the architecture we're building on:
+MARCH=$( uname -m )
+if [ -z "$ARCH" ]; then
+ case "$MARCH" in
+ i?86) export ARCH=i586 ;;
+ armv7hl) export ARCH=$MARCH ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$MARCH ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+else
+ SLKCFLAGS="-O2"
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+if [ ! -d $TMP ]; then
+ mkdir -p $TMP # location to build the source
+fi
+rm -rf $PKG
+mkdir -p $PKG
+
+# Determine bash patchlevel:
+PATCHLEVEL="$( cd $CWD/bash-${VERSION}-patches ; /bin/ls bash4?-??? | tail -1 | cut -f 2 -d - 2> /dev/null )"
+if [ "$PATCHLEVEL" = "" ]; then
+ PATCHLEVEL=0
+fi
+
+cd $TMP
+rm -rf bash-$VERSION
+tar xvf $CWD/bash-$VERSION.tar.?z* || exit 1
+cd bash-$VERSION || exit 1
+chown -R root:root .
+find . -perm 664 | xargs chmod 644
+find . -perm 775 | xargs chmod 755
+
+if [ -d $CWD/bash-${VERSION}-patches ]; then
+ ( cd $CWD/bash-${VERSION}-patches ; cat bash4?-??? ) | patch -p0 --verbose || exit 1
+fi
+
+# End of preparations
+if echo "$*" | grep -qw -- --prep ; then
+ exit 0
+fi
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$TARGET || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+mv $PKG/usr/share/doc $PKG/usr
+mkdir -p $PKG/bin
+mv $PKG/usr/bin/bash $PKG/bin/bash4.new
+# We don't include the "bashbug" script.
+rm -rf $PKG/usr/bin $PKG/usr/man/man1/bashbug.1
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# bash.1 is already installed by "make install"
+( cd doc
+ for page in builtins.1 rbash.1 ; do
+ cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
+ done
+)
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
+
+mkdir -p $PKG/usr/doc/bash-$VERSION
+cp -a AUTHORS CHANGES COMPAT COPYING* INSTALL MANIFEST NEWS NOTES \
+ README* Y2K doc/FAQ doc/INTRO \
+ $PKG/usr/doc/bash-$VERSION
+( cd doc ; groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt )
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+makepkg -l y -c n $TMP/bash-$VERSION.$PATCHLEVEL-$ARCH-$BUILD.txz
+
diff --git a/patches/source/bash/doinst.sh b/patches/source/bash/doinst.sh
new file mode 100644
index 00000000..867958fb
--- /dev/null
+++ b/patches/source/bash/doinst.sh
@@ -0,0 +1,18 @@
+if [ -r bin/bash ]; then
+ mv bin/bash bin/bash.old
+fi
+mv bin/bash4.new bin/bash
+if [ -f bin/bash.old ]; then
+ rm -f bin/bash.old
+fi
+if [ ! -r etc/shells ]; then
+ touch etc/shells
+ chmod 644 etc/shells
+fi
+if grep -wq /bin/bash etc/shells ; then
+ true
+else
+ echo /bin/bash >> etc/shells
+fi
+( cd usr/bin ; rm -rf bash )
+( cd usr/bin ; ln -sf /bin/bash bash )
diff --git a/patches/source/bash/slack-desc b/patches/source/bash/slack-desc
new file mode 100644
index 00000000..f2fdb929
--- /dev/null
+++ b/patches/source/bash/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bash: bash (sh-compatible shell)
+bash:
+bash: The GNU Bourne-Again SHell. Bash is a sh-compatible command
+bash: interpreter that executes commands read from the standard input or
+bash: from a file. Bash also incorporates useful features from the Korn
+bash: and C shells (ksh and csh). Bash is ultimately intended to be a
+bash: conformant implementation of the IEEE Posix Shell and Tools
+bash: specification (IEEE Working Group 1003.2).
+bash:
+bash: Bash must be present for the system to boot properly.
+bash:
diff --git a/patches/source/bind/3link.sh b/patches/source/bind/3link.sh
new file mode 100644
index 00000000..ec8ba4d1
--- /dev/null
+++ b/patches/source/bind/3link.sh
@@ -0,0 +1,136 @@
+rm -f lwres_addr_parse.3
+ln -sf lwres_resutil.3 lwres_addr_parse.3
+rm -f lwres_buffer_add.3
+ln -sf lwres_buffer.3 lwres_buffer_add.3
+rm -f lwres_buffer_back.3
+ln -sf lwres_buffer.3 lwres_buffer_back.3
+rm -f lwres_buffer_clear.3
+ln -sf lwres_buffer.3 lwres_buffer_clear.3
+rm -f lwres_buffer_first.3
+ln -sf lwres_buffer.3 lwres_buffer_first.3
+rm -f lwres_buffer_forward.3
+ln -sf lwres_buffer.3 lwres_buffer_forward.3
+rm -f lwres_buffer_getmem.3
+ln -sf lwres_buffer.3 lwres_buffer_getmem.3
+rm -f lwres_buffer_getuint16.3
+ln -sf lwres_buffer.3 lwres_buffer_getuint16.3
+rm -f lwres_buffer_getuint32.3
+ln -sf lwres_buffer.3 lwres_buffer_getuint32.3
+rm -f lwres_buffer_getuint8.3
+ln -sf lwres_buffer.3 lwres_buffer_getuint8.3
+rm -f lwres_buffer_init.3
+ln -sf lwres_buffer.3 lwres_buffer_init.3
+rm -f lwres_buffer_invalidate.3
+ln -sf lwres_buffer.3 lwres_buffer_invalidate.3
+rm -f lwres_buffer_putmem.3
+ln -sf lwres_buffer.3 lwres_buffer_putmem.3
+rm -f lwres_buffer_putuint16.3
+ln -sf lwres_buffer.3 lwres_buffer_putuint16.3
+rm -f lwres_buffer_putuint32.3
+ln -sf lwres_buffer.3 lwres_buffer_putuint32.3
+rm -f lwres_buffer_putuint8.3
+ln -sf lwres_buffer.3 lwres_buffer_putuint8.3
+rm -f lwres_buffer_subtract.3
+ln -sf lwres_buffer.3 lwres_buffer_subtract.3
+rm -f lwres_conf_clear.3
+ln -sf lwres_config.3 lwres_conf_clear.3
+rm -f lwres_conf_get.3
+ln -sf lwres_config.3 lwres_conf_get.3
+rm -f lwres_conf_init.3
+ln -sf lwres_config.3 lwres_conf_init.3
+rm -f lwres_conf_parse.3
+ln -sf lwres_config.3 lwres_conf_parse.3
+rm -f lwres_conf_print.3
+ln -sf lwres_config.3 lwres_conf_print.3
+rm -f lwres_context_allocmem.3
+ln -sf lwres_context.3 lwres_context_allocmem.3
+rm -f lwres_context_create.3
+ln -sf lwres_context.3 lwres_context_create.3
+rm -f lwres_context_destroy.3
+ln -sf lwres_context.3 lwres_context_destroy.3
+rm -f lwres_context_freemem.3
+ln -sf lwres_context.3 lwres_context_freemem.3
+rm -f lwres_context_initserial.3
+ln -sf lwres_context.3 lwres_context_initserial.3
+rm -f lwres_context_nextserial.3
+ln -sf lwres_context.3 lwres_context_nextserial.3
+rm -f lwres_context_sendrecv.3
+ln -sf lwres_context.3 lwres_context_sendrecv.3
+rm -f lwres_endhostent.3
+ln -sf lwres_gethostent.3 lwres_endhostent.3
+rm -f lwres_endhostent_r.3
+ln -sf lwres_gethostent.3 lwres_endhostent_r.3
+rm -f lwres_freeaddrinfo.3
+ln -sf lwres_getaddrinfo.3 lwres_freeaddrinfo.3
+rm -f lwres_freehostent.3
+ln -sf lwres_getipnode.3 lwres_freehostent.3
+rm -f lwres_gabnrequest_free.3
+ln -sf lwres_gabn.3 lwres_gabnrequest_free.3
+rm -f lwres_gabnrequest_parse.3
+ln -sf lwres_gabn.3 lwres_gabnrequest_parse.3
+rm -f lwres_gabnrequest_render.3
+ln -sf lwres_gabn.3 lwres_gabnrequest_render.3
+rm -f lwres_gabnresponse_free.3
+ln -sf lwres_gabn.3 lwres_gabnresponse_free.3
+rm -f lwres_gabnresponse_parse.3
+ln -sf lwres_gabn.3 lwres_gabnresponse_parse.3
+rm -f lwres_gabnresponse_render.3
+ln -sf lwres_gabn.3 lwres_gabnresponse_render.3
+rm -f lwres_getaddrsbyname.3
+ln -sf lwres_resutil.3 lwres_getaddrsbyname.3
+rm -f lwres_gethostbyaddr.3
+ln -sf lwres_gethostent.3 lwres_gethostbyaddr.3
+rm -f lwres_gethostbyaddr_r.3
+ln -sf lwres_gethostent.3 lwres_gethostbyaddr_r.3
+rm -f lwres_gethostbyname.3
+ln -sf lwres_gethostent.3 lwres_gethostbyname.3
+rm -f lwres_gethostbyname2.3
+ln -sf lwres_gethostent.3 lwres_gethostbyname2.3
+rm -f lwres_gethostbyname_r.3
+ln -sf lwres_gethostent.3 lwres_gethostbyname_r.3
+rm -f lwres_gethostent_r.3
+ln -sf lwres_gethostent.3 lwres_gethostent_r.3
+rm -f lwres_getipnodebyaddr.3
+ln -sf lwres_getipnode.3 lwres_getipnodebyaddr.3
+rm -f lwres_getipnodebyname.3
+ln -sf lwres_getipnode.3 lwres_getipnodebyname.3
+rm -f lwres_getnamebyaddr.3
+ln -sf lwres_resutil.3 lwres_getnamebyaddr.3
+rm -f lwres_gnbarequest_free.3
+ln -sf lwres_gnba.3 lwres_gnbarequest_free.3
+rm -f lwres_gnbarequest_parse.3
+ln -sf lwres_gnba.3 lwres_gnbarequest_parse.3
+rm -f lwres_gnbarequest_render.3
+ln -sf lwres_gnba.3 lwres_gnbarequest_render.3
+rm -f lwres_gnbaresponse_free.3
+ln -sf lwres_gnba.3 lwres_gnbaresponse_free.3
+rm -f lwres_gnbaresponse_parse.3
+ln -sf lwres_gnba.3 lwres_gnbaresponse_parse.3
+rm -f lwres_gnbaresponse_render.3
+ln -sf lwres_gnba.3 lwres_gnbaresponse_render.3
+rm -f lwres_herror.3
+ln -sf lwres_hstrerror.3 lwres_herror.3
+rm -f lwres_lwpacket_parseheader.3
+ln -sf lwres_packet.3 lwres_lwpacket_parseheader.3
+rm -f lwres_lwpacket_renderheader.3
+ln -sf lwres_packet.3 lwres_lwpacket_renderheader.3
+rm -f lwres_net_ntop.3
+ln -sf lwres_inetntop.3 lwres_net_ntop.3
+rm -f lwres_nooprequest_free.3
+ln -sf lwres_noop.3 lwres_nooprequest_free.3
+rm -f lwres_nooprequest_parse.3
+ln -sf lwres_noop.3 lwres_nooprequest_parse.3
+rm -f lwres_nooprequest_render.3
+ln -sf lwres_noop.3 lwres_nooprequest_render.3
+rm -f lwres_noopresponse_free.3
+ln -sf lwres_noop.3 lwres_noopresponse_free.3
+rm -f lwres_noopresponse_parse.3
+ln -sf lwres_noop.3 lwres_noopresponse_parse.3
+rm -f lwres_noopresponse_render.3
+ln -sf lwres_noop.3 lwres_noopresponse_render.3
+rm -f lwres_sethostent.3
+ln -sf lwres_gethostent.3 lwres_sethostent.3
+rm -f lwres_sethostent_r.3
+ln -sf lwres_gethostent.3 lwres_sethostent_r.3
+rm -f lwres_string_parse.3
+ln -sf lwres_resutil.3 lwres_string_parse.3
diff --git a/patches/source/bind/bind.SlackBuild b/patches/source/bind/bind.SlackBuild
new file mode 100755
index 00000000..f20a83f9
--- /dev/null
+++ b/patches/source/bind/bind.SlackBuild
@@ -0,0 +1,165 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PKGNAM=bind
+VERSION=${VERSION:-9.10.6-P1}
+BUILD=${BUILD:-1_slack14.2}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=/bind-$(mcookie)
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG/etc/default
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.gz || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+# Remove use of SO_BSDCOMPAT which has been obsolete since the 2.2.x kernel
+# series, and generates warnings under 2.6.x kernels. This _might_ be fixed
+# upstream already, but an explicit #undef SO_BSDCOMPAT does not hurt:
+zcat $CWD/bind.so_bsdcompat.diff.gz | patch -p1 --verbose || exit
+
+# Thanks to Fedora for libidn support patch:
+zcat $CWD/bind.libidn.patch.gz | patch -p1 --verbose || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-libtool \
+ --mandir=/usr/man \
+ --enable-shared \
+ --disable-static \
+ --enable-threads \
+ --with-openssl=/usr \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# We like symlinks.
+( cd $PKG/usr/sbin
+ ln -sf named lwresd
+)
+
+# We like a lot of symlinks.
+( cd $PKG/usr/man/man3
+ sh $CWD/3link.sh
+)
+
+# Install init script:
+mkdir -p $PKG/etc/rc.d
+cp -a $CWD/rc.bind $PKG/etc/rc.d/rc.bind.new
+chmod 644 $PKG/etc/rc.d/rc.bind.new
+
+# Add /var/run/named directory:
+mkdir -p $PKG/var/run/named
+
+# Fix library perms:
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/*
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Symlink hardlinked man pages:
+( cd $PKG/usr/man/man1
+ ln -sf isc-config.sh.1 bind9-config.1
+)
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ CHANGES COPYRIGHT FAQ* README* \
+ doc/arm doc/misc \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# This one should have the correct perms of the config file:
+chmod 644 $PKG/usr/doc/${PKGNAM}-$VERSION/misc/rndc.conf-sample
+
+# One format of this is plenty. Especially get rid of the bloated PDF.
+( cd $PKG/usr/doc/bind-$VERSION/arm
+ rm -f Makefile* *.pdf *.xml README.SGML latex-fixup.pl
+)
+
+# Add sample config files for a simple caching nameserver:
+mkdir -p $PKG/var/named/caching-example
+cat $CWD/caching-example/named.conf > $PKG/etc/named.conf.new
+cat $CWD/caching-example/localhost.zone > $PKG/var/named/caching-example/localhost.zone
+cat $CWD/caching-example/named.local > $PKG/var/named/caching-example/named.local
+cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.root
+# This name is deprecated, but having it here doesn't hurt in case
+# an old configuration file wants it:
+cat $CWD/caching-example/named.root > $PKG/var/named/caching-example/named.ca
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
+
diff --git a/patches/source/bind/bind.libidn.patch b/patches/source/bind/bind.libidn.patch
new file mode 100644
index 00000000..6e042be7
--- /dev/null
+++ b/patches/source/bind/bind.libidn.patch
@@ -0,0 +1,297 @@
+diff --git a/bin/dig/Makefile.in b/bin/dig/Makefile.in
+index bd219c5..f71685b 100644
+--- a/bin/dig/Makefile.in
++++ b/bin/dig/Makefile.in
+@@ -38,10 +38,10 @@ DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} \
+ ${ISCCFGDEPLIBS} ${LWRESDEPLIBS}
+
+ LIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
+- ${ISCLIBS} @IDNLIBS@ @LIBS@
++ ${ISCLIBS} @IDNLIBS@ @LIBS@ -lidn
+
+ NOSYMLIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
+- ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
++ ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@ -lidn
+
+ SUBDIRS =
+
+@@ -59,6 +59,8 @@ HTMLPAGES = dig.html host.html nslookup.html
+
+ MANOBJS = ${MANPAGES} ${HTMLPAGES}
+
++EXT_CFLAGS = -DWITH_LIBIDN
++
+ @BIND9_MAKE_RULES@
+
+ dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
+diff --git a/bin/dig/dig.docbook b/bin/dig/dig.docbook
+index 7a7e8e4..b36047f 100644
+--- a/bin/dig/dig.docbook
++++ b/bin/dig/dig.docbook
+@@ -1251,8 +1251,8 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
+ <command>dig</command> appropriately converts character encoding of
+ domain name before sending a request to DNS server or displaying a
+ reply from the server.
+- If you'd like to turn off the IDN support for some reason, defines
+- the <envar>IDN_DISABLE</envar> environment variable.
++ If you'd like to turn off the IDN support for some reason, define
++ the <envar>CHARSET=ASCII</envar> environment variable.
+ The IDN support is disabled if the variable is set when
+ <command>dig</command> runs.
+ </para>
+diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c
+index 1f8bcf2..f657c30 100644
+--- a/bin/dig/dighost.c
++++ b/bin/dig/dighost.c
+@@ -33,6 +33,11 @@
+ #include <idn/api.h>
+ #endif
+
++#ifdef WITH_LIBIDN
++#include <stringprep.h>
++#include <idna.h>
++#endif
++
+ #include <dns/byaddr.h>
+ #ifdef DIG_SIGCHASE
+ #include <dns/callbacks.h>
+@@ -158,6 +163,14 @@ static void idn_check_result(idn_result_t r, const char *msg);
+ int idnoptions = 0;
+ #endif
+
++#ifdef WITH_LIBIDN
++static isc_result_t libidn_locale_to_utf8 (const char* from, char *to);
++static isc_result_t libidn_utf8_to_ascii (const char* from, char *to);
++static isc_result_t output_filter (isc_buffer_t *buffer,
++ unsigned int used_org,
++ isc_boolean_t absolute);
++#endif
++
+ isc_socket_t *keep = NULL;
+ isc_sockaddr_t keepaddr;
+
+@@ -1448,8 +1461,15 @@ setup_system(isc_boolean_t ipv4only, isc_boolean_t ipv6only) {
+
+ #ifdef WITH_IDN
+ initialize_idn();
++
++#endif
++#ifdef WITH_LIBIDN
++ result = dns_name_settotextfilter(output_filter);
++ check_result(result, "dns_name_settotextfilter");
++#ifdef HAVE_SETLOCALE
++ setlocale (LC_ALL, "");
++#endif
+ #endif
+-
+ if (keyfile[0] != 0)
+ setup_file_key();
+ else if (keysecret[0] != 0)
+@@ -2231,8 +2251,11 @@ setup_lookup(dig_lookup_t *lookup) {
+ idn_result_t mr;
+ char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME];
+ #endif
++#ifdef WITH_LIBIDN
++ char utf8_str[MXNAME], utf8_name[MXNAME], ascii_name[MXNAME];
++#endif
+
+-#ifdef WITH_IDN
++#if defined (WITH_IDN) || defined (WITH_LIBIDN)
+ result = dns_name_settotextfilter(lookup->idnout ?
+ output_filter : NULL);
+ check_result(result, "dns_name_settotextfilter");
+@@ -2274,6 +2297,14 @@ setup_lookup(dig_lookup_t *lookup) {
+ mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, lookup->textname,
+ utf8_textname, sizeof(utf8_textname));
+ idn_check_result(mr, "convert textname to UTF-8");
++#elif defined (WITH_LIBIDN)
++ result = libidn_locale_to_utf8 (lookup->textname, utf8_str);
++ check_result (result, "convert textname to UTF-8");
++ len = strlen (utf8_str);
++ if (len < MXNAME)
++ (void) strcpy (utf8_name, utf8_str);
++ else
++ fatal ("Too long name");
+ #endif
+
+ /*
+@@ -2286,15 +2317,11 @@ setup_lookup(dig_lookup_t *lookup) {
+ if (lookup->new_search) {
+ #ifdef WITH_IDN
+ if ((count_dots(utf8_textname) >= ndots) || !usesearch) {
+- lookup->origin = NULL; /* Force abs lookup */
+- lookup->done_as_is = ISC_TRUE;
+- lookup->need_search = usesearch;
+- } else if (lookup->origin == NULL && usesearch) {
+- lookup->origin = ISC_LIST_HEAD(search_list);
+- lookup->need_search = ISC_FALSE;
+- }
++#elif defined (WITH_LIBIDN)
++ if ((count_dots(utf8_name) >= ndots) || !usesearch) {
+ #else
+ if ((count_dots(lookup->textname) >= ndots) || !usesearch) {
++#endif
+ lookup->origin = NULL; /* Force abs lookup */
+ lookup->done_as_is = ISC_TRUE;
+ lookup->need_search = usesearch;
+@@ -2302,7 +2329,6 @@ setup_lookup(dig_lookup_t *lookup) {
+ lookup->origin = ISC_LIST_HEAD(search_list);
+ lookup->need_search = ISC_FALSE;
+ }
+-#endif
+ }
+
+ #ifdef WITH_IDN
+@@ -2319,6 +2345,20 @@ setup_lookup(dig_lookup_t *lookup) {
+ IDN_IDNCONV | IDN_LENCHECK, utf8_textname,
+ idn_textname, sizeof(idn_textname));
+ idn_check_result(mr, "convert UTF-8 textname to IDN encoding");
++#elif defined (WITH_LIBIDN)
++ if (lookup->origin != NULL) {
++ result = libidn_locale_to_utf8 (lookup->origin->origin, utf8_str);
++ check_result (result, "convert origin to UTF-8");
++ if (len > 0 && utf8_name[len - 1] != '.') {
++ utf8_name[len++] = '.';
++ if (len + strlen (utf8_str) < MXNAME)
++ (void) strcpy (utf8_name + len, utf8_str);
++ else
++ fatal ("Too long name + origin");
++ }
++ }
++
++ result = libidn_utf8_to_ascii (utf8_name, ascii_name);
+ #else
+ if (lookup->origin != NULL) {
+ debug("trying origin %s", lookup->origin->origin);
+@@ -2389,6 +2429,13 @@ setup_lookup(dig_lookup_t *lookup) {
+ result = dns_name_fromtext(lookup->name, &b,
+ dns_rootname, 0,
+ &lookup->namebuf);
++#elif defined (WITH_LIBIDN)
++ len = strlen (ascii_name);
++ isc_buffer_init(&b, ascii_name, len);
++ isc_buffer_add(&b, len);
++ result = dns_name_fromtext(lookup->name, &b,
++ dns_rootname, 0,
++ &lookup->namebuf);
+ #else
+ len = (unsigned int) strlen(lookup->textname);
+ isc_buffer_init(&b, lookup->textname, len);
+@@ -4377,7 +4424,7 @@ destroy_libs(void) {
+ void * ptr;
+ dig_message_t *chase_msg;
+ #endif
+-#ifdef WITH_IDN
++#if defined (WITH_IDN) || defined (WITH_LIBIDN)
+ isc_result_t result;
+ #endif
+
+@@ -4418,6 +4465,10 @@ destroy_libs(void) {
+ result = dns_name_settotextfilter(NULL);
+ check_result(result, "dns_name_settotextfilter");
+ #endif
++#ifdef WITH_LIBIDN
++ result = dns_name_settotextfilter (NULL);
++ check_result(result, "clearing dns_name_settotextfilter");
++#endif
+ dns_name_destroy();
+
+ if (commctx != NULL) {
+@@ -4603,6 +4654,97 @@ idn_check_result(idn_result_t r, const char *msg) {
+ }
+ }
+ #endif /* WITH_IDN */
++#ifdef WITH_LIBIDN
++static isc_result_t
++libidn_locale_to_utf8 (const char *from, char *to) {
++ char *utf8_str;
++
++ debug ("libidn_locale_to_utf8");
++ utf8_str = stringprep_locale_to_utf8 (from);
++ if (utf8_str != NULL) {
++ (void) strcpy (to, utf8_str);
++ free (utf8_str);
++ return ISC_R_SUCCESS;
++ }
++
++ debug ("libidn_locale_to_utf8: failure");
++ return ISC_R_FAILURE;
++}
++static isc_result_t
++libidn_utf8_to_ascii (const char *from, char *to) {
++ char *ascii;
++ int iresult;
++
++ debug ("libidn_utf8_to_ascii");
++ iresult = idna_to_ascii_8z (from, &ascii, 0);
++ if (iresult != IDNA_SUCCESS) {
++ debug ("idna_to_ascii_8z: %s", idna_strerror (iresult));
++ return ISC_R_FAILURE;
++ }
++
++ (void) strcpy (to, ascii);
++ free (ascii);
++ return ISC_R_SUCCESS;
++}
++
++static isc_result_t
++output_filter (isc_buffer_t *buffer, unsigned int used_org,
++ isc_boolean_t absolute) {
++
++ char tmp1[MXNAME], *tmp2;
++ size_t fromlen, tolen;
++ isc_boolean_t end_with_dot;
++ int iresult;
++
++ debug ("output_filter");
++
++ fromlen = isc_buffer_usedlength (buffer) - used_org;
++ if (fromlen >= MXNAME)
++ return ISC_R_SUCCESS;
++ memcpy (tmp1, (char *) isc_buffer_base (buffer) + used_org, fromlen);
++ end_with_dot = (tmp1[fromlen - 1] == '.') ? ISC_TRUE : ISC_FALSE;
++ if (absolute && !end_with_dot) {
++ fromlen++;
++ if (fromlen >= MXNAME)
++ return ISC_R_SUCCESS;
++ tmp1[fromlen - 1] = '.';
++ }
++ tmp1[fromlen] = '\0';
++
++ iresult = idna_to_unicode_8z8z (tmp1, &tmp2, 0);
++ if (iresult != IDNA_SUCCESS) {
++ debug ("output_filter: %s", idna_strerror (iresult));
++ return ISC_R_SUCCESS;
++ }
++
++ (void) strcpy (tmp1, tmp2);
++ free (tmp2);
++
++ tmp2 = stringprep_utf8_to_locale (tmp1);
++ if (tmp2 == NULL) {
++ debug ("output_filter: stringprep_utf8_to_locale failed");
++ return ISC_R_SUCCESS;
++ }
++
++ (void) strcpy (tmp1, tmp2);
++ free (tmp2);
++
++ tolen = strlen (tmp1);
++ if (absolute && !end_with_dot && tmp1[tolen - 1] == '.')
++ tolen--;
++
++ if (isc_buffer_length (buffer) < used_org + tolen)
++ return ISC_R_NOSPACE;
++
++ debug ("%s", tmp1);
++
++ isc_buffer_subtract (buffer, isc_buffer_usedlength (buffer) - used_org);
++ memcpy (isc_buffer_used (buffer), tmp1, tolen);
++ isc_buffer_add (buffer, tolen);
++
++ return ISC_R_SUCCESS;
++}
++#endif /* WITH_LIBIDN*/
+
+ #ifdef DIG_SIGCHASE
+ void
diff --git a/patches/source/bind/bind.so_bsdcompat.diff b/patches/source/bind/bind.so_bsdcompat.diff
new file mode 100644
index 00000000..5d78031b
--- /dev/null
+++ b/patches/source/bind/bind.so_bsdcompat.diff
@@ -0,0 +1,11 @@
+--- ./lib/isc/unix/socket.c.orig 2005-11-03 17:08:42.000000000 -0600
++++ ./lib/isc/unix/socket.c 2006-02-18 13:09:15.000000000 -0600
+@@ -245,6 +245,8 @@
+
+ #define SOCK_DEAD(s) ((s)->references == 0)
+
++#undef SO_BSDCOMPAT
++
+ static void
+ manager_log(isc_socketmgr_t *sockmgr,
+ isc_logcategory_t *category, isc_logmodule_t *module, int level,
diff --git a/patches/source/bind/caching-example/localhost.zone b/patches/source/bind/caching-example/localhost.zone
new file mode 100644
index 00000000..c47baf5f
--- /dev/null
+++ b/patches/source/bind/caching-example/localhost.zone
@@ -0,0 +1,11 @@
+$TTL 86400
+$ORIGIN localhost.
+@ 1D IN SOA @ root (
+ 42 ; serial (d. adams)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum
+
+ 1D IN NS @
+ 1D IN A 127.0.0.1
diff --git a/patches/source/bind/caching-example/named.conf b/patches/source/bind/caching-example/named.conf
new file mode 100644
index 00000000..a8ee2795
--- /dev/null
+++ b/patches/source/bind/caching-example/named.conf
@@ -0,0 +1,31 @@
+options {
+ directory "/var/named";
+ /*
+ * If there is a firewall between you and nameservers you want
+ * to talk to, you might need to uncomment the query-source
+ * directive below. Previous versions of BIND always asked
+ * questions using port 53, but BIND 8.1 uses an unprivileged
+ * port by default.
+ */
+ // query-source address * port 53;
+};
+
+//
+// a caching only nameserver config
+//
+zone "." IN {
+ type hint;
+ file "caching-example/named.root";
+};
+
+zone "localhost" IN {
+ type master;
+ file "caching-example/localhost.zone";
+ allow-update { none; };
+};
+
+zone "0.0.127.in-addr.arpa" IN {
+ type master;
+ file "caching-example/named.local";
+ allow-update { none; };
+};
diff --git a/patches/source/bind/caching-example/named.local b/patches/source/bind/caching-example/named.local
new file mode 100644
index 00000000..8f40bcf3
--- /dev/null
+++ b/patches/source/bind/caching-example/named.local
@@ -0,0 +1,10 @@
+$TTL 86400
+@ IN SOA localhost. root.localhost. (
+ 2011032500 ; Serial
+ 28800 ; Refresh
+ 14400 ; Retry
+ 3600000 ; Expire
+ 86400 ) ; Minimum
+ IN NS localhost.
+
+1 IN PTR localhost.
diff --git a/patches/source/bind/caching-example/named.root b/patches/source/bind/caching-example/named.root
new file mode 100644
index 00000000..9cc20228
--- /dev/null
+++ b/patches/source/bind/caching-example/named.root
@@ -0,0 +1,90 @@
+; This file holds the information on root name servers needed to
+; initialize cache of Internet domain name servers
+; (e.g. reference this file in the "cache . <file>"
+; configuration file of BIND domain name servers).
+;
+; This file is made available by InterNIC
+; under anonymous FTP as
+; file /domain/named.cache
+; on server FTP.INTERNIC.NET
+; -OR- RS.INTERNIC.NET
+;
+; last update: November 05, 2014
+; related version of root zone: 2014110501
+;
+; formerly NS.INTERNIC.NET
+;
+. 3600000 NS A.ROOT-SERVERS.NET.
+A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
+A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30
+;
+; FORMERLY NS1.ISI.EDU
+;
+. 3600000 NS B.ROOT-SERVERS.NET.
+B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
+B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:84::b
+;
+; FORMERLY C.PSI.NET
+;
+. 3600000 NS C.ROOT-SERVERS.NET.
+C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
+C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c
+;
+; FORMERLY TERP.UMD.EDU
+;
+. 3600000 NS D.ROOT-SERVERS.NET.
+D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13
+D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d
+;
+; FORMERLY NS.NASA.GOV
+;
+. 3600000 NS E.ROOT-SERVERS.NET.
+E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
+;
+; FORMERLY NS.ISC.ORG
+;
+. 3600000 NS F.ROOT-SERVERS.NET.
+F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
+F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
+;
+; FORMERLY NS.NIC.DDN.MIL
+;
+. 3600000 NS G.ROOT-SERVERS.NET.
+G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
+;
+; FORMERLY AOS.ARL.ARMY.MIL
+;
+. 3600000 NS H.ROOT-SERVERS.NET.
+H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
+H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803f:235
+;
+; FORMERLY NIC.NORDU.NET
+;
+. 3600000 NS I.ROOT-SERVERS.NET.
+I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
+I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53
+;
+; OPERATED BY VERISIGN, INC.
+;
+. 3600000 NS J.ROOT-SERVERS.NET.
+J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
+J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:30
+;
+; OPERATED BY RIPE NCC
+;
+. 3600000 NS K.ROOT-SERVERS.NET.
+K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
+K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1
+;
+; OPERATED BY ICANN
+;
+. 3600000 NS L.ROOT-SERVERS.NET.
+L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
+L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42
+;
+; OPERATED BY WIDE
+;
+. 3600000 NS M.ROOT-SERVERS.NET.
+M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
+M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
+; End of file
diff --git a/patches/source/bind/doinst.sh b/patches/source/bind/doinst.sh
new file mode 100644
index 00000000..afeff946
--- /dev/null
+++ b/patches/source/bind/doinst.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.bind.new:
+if [ -e etc/rc.d/rc.bind ]; then
+ cp -a etc/rc.d/rc.bind etc/rc.d/rc.bind.new.incoming
+ cat etc/rc.d/rc.bind.new > etc/rc.d/rc.bind.new.incoming
+ mv etc/rc.d/rc.bind.new.incoming etc/rc.d/rc.bind.new
+fi
+
+config etc/named.conf.new
+config etc/rc.d/rc.bind.new
+
+# Add a /var/named if it doesn't exist:
+if [ ! -d var/named ]; then
+ mkdir -p var/named
+ chmod 755 var/named
+fi
+
+# Generate /etc/rndc.key if there's none there,
+# and there also no /etc/rndc.conf (the other
+# way to set this up).
+if [ ! -r etc/rndc.key -a ! -r /etc/rndc.conf ]; then
+ chroot . /sbin/ldconfig
+ chroot . /usr/sbin/rndc-confgen -r /dev/urandom -a 2> /dev/null
+fi
diff --git a/patches/source/bind/rc.bind b/patches/source/bind/rc.bind
new file mode 100644
index 00000000..6d77d73d
--- /dev/null
+++ b/patches/source/bind/rc.bind
@@ -0,0 +1,112 @@
+#!/bin/sh
+# Start/stop/restart the BIND name server daemon (named).
+
+
+# Start bind. In the past it was more secure to run BIND as a non-root
+# user (for example, with '-u daemon'), but the modern version of BIND
+# knows how to use the kernel's capability mechanism to drop all root
+# privileges except the ability to bind() to a privileged port and set
+# process resource limits, so -u should not be needed. If you wish to
+# use it anyway, chown the /var/run/named and /var/named directories to
+# the non-root user. The command options can be set like this in
+# /etc/default/named :
+# NAMED_OPTIONS="-u daemon"
+# So you will not have to edit this script.
+
+# You might also consider running BIND in a "chroot jail",
+# a discussion of which may be found in
+# /usr/doc/Linux-HOWTOs/Chroot-BIND-HOWTO.
+
+# One last note: rndc has a lot of other nice features that it is not
+# within the scope of this start/stop/restart script to support.
+# For more details, see "man rndc" or just type "rndc" to see the options.
+
+# Load command defaults:
+if [ -f /etc/default/named ] ; then . /etc/default/named ; fi
+if [ -f /etc/default/rndc ] ; then . /etc/default/rndc ; fi
+
+# Sanity check. If /usr/sbin/named is missing then it
+# doesn't make much sense to try to run this script:
+if [ ! -x /usr/sbin/named ]; then
+ echo "/etc/rc.d/rc.bind: no /usr/sbin/named found (or not executable); cannot start."
+ exit 1
+fi
+
+# Start BIND. As many times as you like. ;-)
+# Seriously, don't run "rc.bind start" if BIND is already
+# running or you'll get more than one copy running.
+bind_start() {
+ if [ -x /usr/sbin/named ]; then
+ echo "Starting BIND: /usr/sbin/named $NAMED_OPTIONS"
+ /usr/sbin/named $NAMED_OPTIONS
+ sleep 1
+ fi
+ if ! ps axc | grep -q named ; then
+ echo "WARNING: named did not start."
+ echo "Attempting to start named again: /usr/sbin/named $NAMED_OPTIONS"
+ /usr/sbin/named $NAMED_OPTIONS
+ sleep 1
+ if ps axc | grep -q named ; then
+ echo "SUCCESS: named started."
+ else
+ echo "FAILED: Sorry, a second attempt to start named has also failed."
+ echo "There may be a configuration error that needs fixing. Good luck!"
+ fi
+ fi
+}
+
+# Stop all running copies of BIND (/usr/sbin/named):
+bind_stop() {
+ echo "Stopping BIND: /usr/sbin/rndc $RDNC_OPTIONS stop"
+ /usr/sbin/rndc $RDNC_OPTIONS stop
+ # A problem with using "/usr/sbin/rndc stop" is that if you
+ # managed to get multiple copies of named running it will
+ # only stop one of them and then can't stop the others even
+ # if you run it again. So, after doing things the nice way
+ # we'll do them the old-fashioned way. If you don't like
+ # it you can comment it out, but unless you have a lot of
+ # other programs you run called "named" this is unlikely
+ # to have any ill effects:
+ sleep 1
+ if ps axc | grep -q named ; then
+ echo "Using "killall named" on additional BIND processes..."
+ /bin/killall named 2> /dev/null
+ fi
+}
+
+# Reload BIND:
+bind_reload() {
+ /usr/sbin/rndc $RDNC_OPTIONS reload
+}
+
+# Restart BIND:
+bind_restart() {
+ bind_stop
+ bind_start
+}
+
+# Get BIND status:
+bind_status() {
+ /usr/sbin/rndc $RDNC_OPTIONS status
+}
+
+case "$1" in
+'start')
+ bind_start
+ ;;
+'stop')
+ bind_stop
+ ;;
+'reload')
+ bind_reload
+ ;;
+'restart')
+ bind_restart
+ ;;
+'status')
+ bind_status
+ ;;
+*)
+ echo "usage $0 start|stop|reload|restart|status"
+esac
+
diff --git a/patches/source/bind/slack-desc b/patches/source/bind/slack-desc
new file mode 100644
index 00000000..9e9b15d1
--- /dev/null
+++ b/patches/source/bind/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+bind: bind (DNS server and utilities)
+bind:
+bind: The named daemon and support utilities such as dig, host, and
+bind: nslookup. Sample configuration files for running a simple caching
+bind: nameserver are included. Documentation for advanced name server
+bind: setup can be found in /usr/doc/bind-9.x.x/.
+bind:
+bind:
+bind:
+bind:
+bind:
diff --git a/patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch b/patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch
new file mode 100644
index 00000000..749787c5
--- /dev/null
+++ b/patches/source/bluez/bluez-5.30-obexd_without_systemd-1.patch
@@ -0,0 +1,61 @@
+Submitted By: Armin K. <krejzi at email dot com>
+Date: 2013-04-29
+Initial Package Version: 5.17
+Upstream Status: unknown
+Origin: Arch Linux (Giovanni Campagna)
+Description: Allow using obexd without systemd in the user session
+
+Not all sessions run systemd --user (actually, the majority
+doesn't), so the dbus daemon must be able to spawn obexd
+directly, and to do so it needs the full path of the daemon.
+---
+ Makefile.obexd | 4 ++--
+ obexd/src/org.bluez.obex.service | 4 ----
+ obexd/src/org.bluez.obex.service.in | 4 ++++
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+ delete mode 100644 obexd/src/org.bluez.obex.service
+ create mode 100644 obexd/src/org.bluez.obex.service.in
+
+diff --git a/Makefile.obexd b/Makefile.obexd
+index 3760867..142e7c3 100644
+--- a/Makefile.obexd
++++ b/Makefile.obexd
+@@ -2,12 +2,12 @@
+ if SYSTEMD
+ systemduserunitdir = @SYSTEMD_USERUNITDIR@
+ systemduserunit_DATA = obexd/src/obex.service
++endif
+
+ dbussessionbusdir = @DBUS_SESSIONBUSDIR@
+ dbussessionbus_DATA = obexd/src/org.bluez.obex.service
+-endif
+
+-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
++EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
+
+ obex_plugindir = $(libdir)/obex/plugins
+
+diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
+deleted file mode 100644
+index a538088..0000000
+--- a/obexd/src/org.bluez.obex.service
++++ /dev/null
+@@ -1,4 +0,0 @@
+-[D-BUS Service]
+-Name=org.bluez.obex
+-Exec=/bin/false
+-SystemdService=dbus-org.bluez.obex.service
+diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
+new file mode 100644
+index 0000000..9c815f2
+--- /dev/null
++++ b/obexd/src/org.bluez.obex.service.in
+@@ -0,0 +1,4 @@
++[D-BUS Service]
++Name=org.bluez.obex
++Exec=@libexecdir@/obexd
++SystemdService=dbus-org.bluez.obex.service
+--
+1.8.3.1
+
+
diff --git a/patches/source/bluez/bluez.SlackBuild b/patches/source/bluez/bluez.SlackBuild
new file mode 100755
index 00000000..4225f828
--- /dev/null
+++ b/patches/source/bluez/bluez.SlackBuild
@@ -0,0 +1,178 @@
+#!/bin/sh
+
+# Copyright 2009, 2010, 2011, 2012, 2013, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PKGNAM=bluez
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_slack14.2}
+
+NUMJOBS=${NUMJOBS:--j7}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/${PKGNAM}-${VERSION}.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/bluez-5.30-obexd_without_systemd-1.patch.gz | patch -p1 --verbose || exit 1
+
+autoreconf -vif
+
+sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile.{in,tools}
+
+# We're adding --enable-deprecated due to this commit:
+#
+# commit b1eb2c4cd057624312e0412f6c4be000f7fc3617
+#Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+#Date: Wed Jan 4 14:23:58 2017 +0200
+#
+# build: Hide deprecated tools under --enable-deprecated
+#
+# This marks the following tools as deprecated as they are not longer
+# maintained or have been replaced by other tools:
+#
+# hciattach hciconfig hcitool hcidump rfcomm sdptool ciptool gatttool
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="-L/usr/lib$LIBDIRSUFFIX" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --localstatedir=/var \
+ --docdir=/usr/doc/${PKGNAM}-${VERSION} \
+ --enable-library \
+ --disable-systemd \
+ --enable-deprecated \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Use reset=1 for the btusb module, which supposedly fixes reconnect problems:
+mkdir -p $PKG/lib/modprobe.d
+cp -a $CWD/btusb.conf $PKG/lib/modprobe.d
+chown root:root $PKG/lib/modprobe.d/btusb.conf
+chmod 644 $PKG/lib/modprobe.d/btusb.conf
+
+# Add bluetoothd to /usr/sbin
+mkdir -p $PKG/usr/sbin
+ln -s ../libexec/bluetooth/bluetoothd $PKG/usr/sbin
+
+# Install the configuration files
+mkdir -p $PKG/etc/bluetooth $PKG/etc/default
+cat src/main.conf > $PKG/etc/bluetooth/main.conf.new
+cat profiles/input/input.conf > $PKG/etc/bluetooth/input.conf.new
+cat profiles/network/network.conf > $PKG/etc/bluetooth/network.conf.new
+cat profiles/proximity/proximity.conf > $PKG/etc/bluetooth/proximity.conf.new
+cat $CWD/config/uart.conf > $PKG/etc/bluetooth/uart.conf.new
+cat $CWD/config/defaultconfig > $PKG/etc/default/bluetooth.new
+
+# Add an init script
+mkdir -p $PKG/etc/rc.d
+cat $CWD/config/rc.bluetooth > $PKG/etc/rc.d/rc.bluetooth.new
+
+# Let's go ahead and let that start by default, unless an existing init
+# script is not executable:
+chmod 755 $PKG/etc/rc.d/rc.bluetooth.new
+
+# If the deprecated utility gatttool was built, go ahead and install it:
+if [ -x attrib/gatttool ]; then
+ cp attrib/gatttool $PKG/usr/bin
+ chown root:root $PKG/usr/bin/gatttool
+ chmod 755 $PKG/usr/bin/gatttool
+fi
+
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* INSTALL README* TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/patches/source/bluez/btusb.conf b/patches/source/bluez/btusb.conf
new file mode 100644
index 00000000..3072d788
--- /dev/null
+++ b/patches/source/bluez/btusb.conf
@@ -0,0 +1,3 @@
+# use "reset=1" as default, since it should be safe for recent devices and
+# solves all kind of problems.
+options btusb reset=1
diff --git a/patches/source/bluez/config/defaultconfig b/patches/source/bluez/config/defaultconfig
new file mode 100644
index 00000000..b4da786e
--- /dev/null
+++ b/patches/source/bluez/config/defaultconfig
@@ -0,0 +1,9 @@
+# /etc/default/bluetooth
+
+# A space delimied list of devices to start at boot time
+ACTIVE_HCI_DEVICES_ON_BOOT="hci0"
+
+# A semicolon delimited list of SDP (Service Discovery Protocol)
+# operations for bluetooth devices. See the sdptool for more details.
+SDPTOOL_OPTIONS=""
+
diff --git a/patches/source/bluez/config/rc.bluetooth b/patches/source/bluez/config/rc.bluetooth
new file mode 100644
index 00000000..b56fcd10
--- /dev/null
+++ b/patches/source/bluez/config/rc.bluetooth
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+# /etc/rc.d/rc.bluetooth (based on BLFS script)
+